Android經常使用的一些make命令(轉載)--不錯

原文網址:http://blog.sina.com.cn/s/blog_abc7e49a01011y0n.htmlhtml

1.make -jXX
  XX表示數字,這個命令將編譯Android系統並生成鏡像,XX表示能夠使用到的CPU核數,這在配置好的電腦上特別有用,公司的16核ubuntu服務器執行make -j16只要不到20分鐘,而雙核PC上須要4個小時!

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推送到目標機,能夠很方便地調試。

6.make sdk
  
這條命令能夠生成可發佈的SDK,目前還沒試過,聽說須要JDK1.5

7.make Setting
  
能夠單獨編譯setting這個模塊,目前還沒試,猜測是否是能夠單獨編譯Email、Music這些模塊

8.make bootimage
  
用這條命令能夠生成boot.img,這個鏡像文件中包含Linux Kernel,Ram disk,生成的boot.img只能經過fastboot進行燒寫,這在只修改了Linux內核的時候有用
node

 

 

Android比較重要的三個img文件:ubuntu

 

  • make systemimage - system.img
  • make userdataimage - userdata.img
  • make ramdisk - ramdisk.img
  • make snod - 快速打包system.img (with this command, it will build a new system.img very quickly. well, you cannot use 「make snod」 for all the situations. it would not check the dependences. if you change some code in the framework which will effect other applications)

 

 

 

因為
system.img 是 從 out/target/product/xxxx/system 作出來的。
若是改了 這個 folder 的內容,想要從新產生 system.img。不要管 system folde 裡面的 file 的 dependency,能夠用 snod 這個 target:服務器

 

  • make snod

 

定義在 build/core/Makefile 能夠看到 snod 這個 target:
(有說明是: make system.img ignoring depencies)app

 

.PHONY: systemimage-nodeps snod
systemimage-nodeps snod: $(filter-out systemimage-nodeps snod,$(MAKECMDGOALS)) \
| $(INTERNAL_MKUSERFS)
@echo "make $@: ignoring dependencies"
$(call build-systemimage-target,$(INSTALLED_SYSTEMIMAGE))
$(hide) $(call assert-max-image-size,$(INSTALLED_SYSTEMIMAGE),$(BOARD_SYSTEMIMAGE_PARTITION_SIZE),yaffs)ide

 

Ref:
http://hi.baidu.com/kyan/blog/item/df7ea8d346f5c839960a163c.html
http://r40eubuntu.blogspot.com/2010/10/systemimg.html測試

相關文章
相關標籤/搜索