android編譯:
1、build.sh指令碼:
該指令碼根據傳進來的引數選擇編譯的專案:
例如./build.sh *** systemimage
因為$1=p729b_cn則會進入if語句中。
if [ "$1" = "***" ] ]; then
source ./$1/customize.sh//執行定製目錄拷貝指令碼
./build_blade.sh update-api//生成current.xml檔案,更新api。
./build_blade.sh $2 //根據傳進來的第二個引數systemimage來編譯版本。既:./build_mooncake.sh systemimage
fi2、build_***.sh指令碼
通過上面我們可以看到,版本的編譯進入了./build_***.sh systemimage命令的執行。在這個指令碼中:
source build/envsetup.sh > /dev/null ///設定環境變數
choosecombo device relea***xxeng //選擇裝置
make -j4 $1 //進行編譯。這裡相當於make -j4 systemimage 當然這裡的-j4根據自己的機器配置來選擇編譯的級別。
其中source build/envsetup.sh > /dev/null 設定環境變數,也是作為mm的乙個解析器;
choosecombo device release *** eng 這條中的choosecombo是google自帶的乙個函式,實際上在這裡他呼叫的其他幾個檔案:
choosesim $1 選擇目標裝置
choosetype $2 選擇目標**格式
chooseproduct $3 選擇產品平台(mooncake)
choosevariant $4 選擇版本的模式
set_stuff_for_environment 通過build/core/config.mk進行配置
printconfig 列印出我們剛才選擇的資訊
我們執行這條命令的時候,會直接列印出
****************************************====
platform_version_codename=rel
platform_version=2.1-update1
target_product=***
target_build_variant=user
target_simulator=false
target_build_type=release
target_arch=arm
host_arch=x86
host_os=linux
host_build_type=release
build_id=ere27
****************************************====
而我們沒有選擇的餘地,如果想自己diy版本,則可以直接執行choosecombo可以進行手動選擇。
而我們在單獨執行choosesim $1 ,在下面的函式中,我們看到,每次執行一次choosesim $1便會做一次set_stuff_for_environment
case `uname -s` in
linux)
function choosesim()
;;*)
choosecombo device release mooncake裝置
android 編譯小結,模擬器打包
just a note personal 最近在系統掛鉤子,除錯程式 開了100g 的快取,表示毫無壓力,編譯完了之後在 mydroid out target product generic 生成img 直接執行 emulator ok,沒問題,但是我想把這些拿出來執行,不參與模擬器的東西。把 ge...
FlightGear編譯小結
養成寫blog的習慣,把平時遇到的一些有價值的事情記錄下來,這並不是每個人都能做到的。由於推免沒能推到自己第一想要的方向,退而求其次,我就來到嵌入式方向,並且畢業設計也在這邊的實驗室做,安排的任務跟計算機圖形有關係,更具體一點跟飛行模擬器 flight simulator 有關係,這樣就接觸了fli...
條件編譯小結
源文 編碼的時候經常要用到條件編譯,每次都到網上去查比較浪費時間,今天總結一下以備後用 visual c ifdef msc ver 非vc編譯器很多地方也有定義 borland c ifdef borlandc unix windows windows 95 98 me的ver win32 win...