1、RK源码编译
获取内核源码:
git clone git@172.28.1.172:rk3188_kernel -b xtc_ok1000
内核编译环境:
从172.28.1.132编译服务器的/data1/ZouZhiPing目录下拷贝toolchain.tar.gz(交叉编译工具链)并解压到与rk3188_kernel同级目录下
内核编译:
make rk3188_OK1000_ssd2828_defconfig
make kernel.img -j32
获取android源码:
git clone git@172.28.1.172:rk3188_android4.4.1 -b xtc_ok1000
android编译:
lunch rk3188-eng(Android原生系统)
make -j32
./mkimage ota
2、建立自己的产品分支[OK1000]
相关知识:
/
在Android编译系统中,产品编译项相关配置文件都在device/<厂商名>/目录下。厂商的产品列表由AndroidProducts.mk文件定义,目标产品信息由<产品名>.mk定义,目标设备信息由BoardConfig.mk和AndroidBoard.mk定义。创建新产品的编译项就是创建上述几个mk文件的过程。
1、创建厂商目录
不同的手机厂商对应device/下不同目录,在厂商目录下放置该厂商的产品相关信息,我们厂商名定义为mycompany。
$ cd ~/android/android_source
$ mkdir device/mycompany
2、在厂商目录下创建设备目录
定义设备名为mytable。
$ mkdir device/mycompany/mytable
3、添加新产品编译项配置文件,该配置文件在执行source build/envsetup.sh时,被加载执行$ vim device/mycompany/mytable/vendorsetup.sh在vendorsetup.sh文件时添加下面一条命令,用于向编译系统添加编译项,新添加的产品名为:myproduct,编译类型为eng。add_lunch_combo myproduct-eng
注:add_lunch_combo命令是build/envsetup.sh脚本中定义的函数,表示将一个新产品编译项添加到lunch菜单里。
4、创建产品列表配置文件AndroidProducts.mk
AndroidProducts.mk文件用于定义当前厂商所拥有的所有产品列表,每个产品都对应一个配置文件:
$ vim device/mycompany/mytable/AndroidProducts.mk
在产品列表配置文件中添加如下内容:
PRODUCT_MAKEFILES :=
(
L
O
C
A
L
D
I
R
)
/
f
u
l
l
p
r
o
d
u
c
t
.
m
k
注:
P
R
O
D
U
C
T
M
A
K
E
F
I
L
E
S
变量用于保存所有产品配置信息列表,
(LOCAL_DIR)/full_product.mk 注:PRODUCT_MAKEFILES变量用于保存所有产品配置信息列表,
(LOCALDIR)/fullproduct.mk注:PRODUCTMAKEFILES变量用于保存所有产品配置信息列表,(LOCAL_DIR)表示当前目录,full_product.mk表示某一款产品的配置
文件。
/
主要遇到两个问题:
A、编译烧录运行重启,主要问题是,有两个.so库没有拷贝到:system/lib
只要把上面两个参数设置对:rk3188和OK1000;只要这个搞对了,机器就能正常重启了。
B、显示效果整体效果很小,很多的机器默认的配置没有配置好;解决办法就是把原生RK的system.prop【请查找:build.prop生成过程分析 一文分析】拷贝过来【第二页标注所示】,重新编译,达到了预想的效果。
3、开机动画
A、
编写脚本,把相应的资源拷贝到相应的位置即可:
B、修改代码:
说明:具体的开机动画有相应的说明文档;如有需求请查阅…
4、开机音乐
先看看系统拷贝开机音乐资源的流程:
下面就是把所需的资源从存放的位置拷贝到相应的地方:
最后就是代码实现片段:
觉得本文对你有用,麻烦点赞或关注或收藏,你的肯定是我创作的无限动力,谢谢!!!