1.分模块编译
编译Android源码是一个漫长的过程,四核八线程的E3 1285在3.8GHz的频率下火力全开也要100分钟左右,如果只需要做点小小的改动,分模块编译时不错的选择。
编译boot.img:
make bootimage
编译userdata.img:
make userdataimage
编译system.img
make systemimage
重新打包system.img
make snod
2.将APP预装到系统中
如果需要预装的APP是以源码形式提供,则需要先编译:
#在源码根目录执行以下命令
source build/envsetup.sh
mmm packages/apps/TestApp
编译完成后,会在out/target/product/xxx/system/app/路劲下生成对应的apk文件(xxx为设备代号),如果已经有apk文件则直接放在该路径下;如果是系统应用,则应放在out/target/product/xxx/system/priv-app/路径下,接下来需要重新打包成镜像文件。
回到源码根目录,执行以下命令重新打包system.img:
make snod
3.获取ROOT权限
编译完成后,将下列文件放入对应路径下:
.su –> out/target/product/xxx/system/bin/
su –> out/target/product/xxx/system/xbin/
sugote –> out/target/product/xxx/system/xbin/
sugote-mksh –> out/target/product/xxx/system/xbin/
supolicy –> out/target/product/xxx/system/xbin/
修改init.rc
vim out/target/product/xxx/root/init.rc
#添加以下内容
#Supersu
service daemonsu /system/xbin/su --daemon
class main
user root
oneshot
重新编译boot.img