Android: m, mm以及mmm編譯命令以及make snod的使用
1)編譯指定Package
Android源碼目錄下的build/envsetup.sh文件,描述編譯的命令
m:?????? 編譯所有的模塊
mm:?? 編譯當(dāng)前目錄下的模塊,當(dāng)前目錄下要有Android.mk文件
mmm:編譯指定路徑下的模塊,指定路徑下要有Android.mk文件
要想使用這些命令,首先需要在android源碼根目錄執(zhí)行. build/envsetup.sh 腳本設(shè)置環(huán)境
下面舉個例子說明,假設(shè)我要編譯android下的packages/apps/Settings模塊,當(dāng)前目錄為源碼根目錄,方法如下:
usera@usera-desktop:~/workspace$ source build/envsetup.sh
usera@usera-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/usera/workspace”
或者
usera@usera-desktop:~/workspace$ source build/envsetup.sh
usera@usera-desktop:~/workspace$ cd packages/apps/Settings/
usera@usera-desktop:~/workspace/packages/apps/Settings$ mm
2)重新生成sysem.img
使用make snod,重新生成system.img
usera@usera-desktop:~/workspace$ make snod
make snod: ignoring dependencies
Target system fs image: out/target/product/generic/system.img