Android源码编译及修改总结

来源:互联网 发布:java 最大公约数 编辑:程序博客网 时间:2024/06/08 18:05

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.shmmm 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#添加以下内容#Supersuservice daemonsu /system/xbin/su --daemon    class main    user root    oneshot 

重新编译boot.img