android 编译make指令
一、編譯指令
1.make -jX X表示數字,這個命令將編譯Android系統并生成鏡像,XX表示可以使用到的CPU核數,
2.make snod 這條命令將重新生成鏡像,消耗的時間很少,類似WinCE的makeimg過程,如果你修改了一些數據文件(如音樂、視頻)等文件時比較有用。
3.make cts 這條命令將編譯CTS套機,編譯出的結果放在out目錄對應版的data/app目錄下面。CTS測試時有用
4.make installclean 這條命令清除out目錄下對應板文件夾中的內容,也就是相當于make clean,通常如果改變了一些數據文件(如去掉)、最好執行以下make installclean,否則殘留在out目錄下的還會被打包進去。
5.mm/mm -B 開發調試中最喜歡這條命令了,在修改了的目錄下執行這條命令,就能智能地進行編譯,輸出的文件在通過adb推送到目標機,可以很方便地調試
二、單編
1. make: 不帶任何參數則是編譯整個系統;?
?make MediaProvider??#單個模塊編譯,會把該模塊及其依賴的其他模塊一起編譯(會搜索整個源代碼來定位MediaProvider模塊所使用的Android.mk文件,還要判斷該模塊依賴的其他模塊是否有修改);?
2. ?mmm packages/providers/MediaProvider?# 編譯指定目錄下的模塊,但不編譯它所依賴的其它模塊;?
3. ?mm? # 編譯當前目錄下的模塊,它和mmm一樣,不編譯依賴模塊;?
4. ?mma?# 編譯當前目錄下的模塊及其依賴項 .
mmma:# 編譯指定目錄下的模塊,編譯它所依賴的其它模塊;?
以上三個命令都可以用-B選項來重新編譯所有目標文件。
- make systemimage - system.img
- make userdataimage - userdata.img
- make ramdisk - ramdisk.img
- make snod - 快速打包system.img?
單編sepolicy并快速驗證
(1)source ?bulid/envsetup.sh
(2)lunch ?
(3)mmm system/sepolicy
(4)adb push out\..\vendor\etc\selinux\. ?/vendor/etc/selinux
?adb push out\..\system\etc\selinux\. ?/system/etc/selinux
(5)adb reboot
make ?-j32 2>&1 | tee build.log?
模塊? ? ? ? ? ? ? ? ? ? ? ?make命令? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mmm命令
init? ? ? ? ? ? ? ? ? ? ? ? ? make init? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?mmm system/core/init
zygote?? ? ? ? ? ? ? ? ? ?make app_process? ? ? ? ? ? ? ? ? ?mmm frameworks/base/cmds/app_process
system_server? ? ? ?make services?? ? ? ? ? ? ? ? ? ? ? ? ?mmm frameworks/base/services
java framework? ? ? make framework?? ? ? ? ? ? ? ? ? ? ? mmm frameworks/base
framework資源? ? ? make framework-res? ? ? ? ? ? ? ? ?mmm frameworks/base/core/res
jni framework? ? ? ? ?make libandroid_runtime?? ? ? ? ?mmm frameworks/base/core/jni
binder?? ? ? ? ? ? ? ? ? ?make libbinder?? ? ? ? ? ? ? ? ? ? ? ? ?mmm frameworks/native/libs/binder
make systemimage - system.img
make userdataimage - userdata.img
make ramdisk - ramdisk.img
make snod - 快速打包system.img?
三、push 文件
push 文件
adb push /xxx/system/etc/selinux/* ?/system/etc/selinux/
adb push /xxx/vendor/etc/selinux/* ?/vendor/etc/selinux/
adb push /xxx/system/system_ext/etc/selinux/* ?/system/system_ext/etc/selinux/
adb push /xxx/system/product/etc/selinux/* ?/system/product/etc/selinux/
總結
以上是生活随笔為你收集整理的android 编译make指令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带通 带阻滤波器 幅频响应_微波介质陶瓷
- 下一篇: 凌云仓库管理系统常见问题解答(七)