http://blog.csdn.net/renzhi_zhang/article/details/8555429
http://elinux.org/Android_Build_System
http://blog.csdn.net/hunter168_wang/article/details/51674299
http://blog.csdn.net/u011913612/article/details/52503318
1)編譯指定Package
Android源碼目錄下的build/envsetup.sh文件,描述編譯的命令
m: 編譯所有的模塊
mm: 編譯當前目錄下的模塊,當前目錄下要有Android.mk文件
mmm:編譯指定路徑下的模塊,指定路徑下要有Android.mk文件
要想使用這些命令,首先需要在android源碼根目錄執行. build/envsetup.sh 腳本設置環境
下面舉個例子說明,假設我要編譯android下的packages/apps/Settings模塊,當前目錄為源碼根目錄,方法如下:
rzzhang@rzzhang-desktop:~/workspace$ source build/envsetup.sh
rzzhang@rzzhang-desktop:~/workspace$ mmm packages/apps/Settings/
...
Processing target/product/generic/obj/APPS/SettingsTests_intermediates/package.apk
Done!
Install: out/target/product/generic/data/app/SettingsTests.odex
Install: out/target/product/generic/data/app/SettingsTests.apk
make:離開目錄“/home/rzzhang/workspace”
或者
rzzhang@rzzhang-desktop:~/workspace$ source build/envsetup.sh
rzzhang@rzzhang-desktop:~/workspace$ cd packages/apps/Settings/
rzzhang@rzzhang-desktop:~/workspace/packages/apps/Settings$ mm
2)重新生成sysem.img
使用make snod,重新生成system.img
rzzhang@rzzhang-desktop:~/workspace$ make snod
make snod: ignoring dependencies
Target system fs image: out/target/product/generic/system.img