1. 程式人生 > >android原始碼編譯錯誤make ***[out/host/linux-x86/obj/EXECUTABL

android原始碼編譯錯誤make ***[out/host/linux-x86/obj/EXECUTABL

    

系統是Ubuntu1264位,2G記憶體,編譯的時候出現下面這個錯誤:

make:***[out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/llvm-rs-cc]Error1

make:***Waitingforunfinishedjobs….[/color]

之後在網上查了好久好久,沒找到什麼解決辦法,嘗試更改交換區使用率,用單執行緒make,都不行。

在快要放棄的情況下,在某篇帖子上看到make clean這麼個東西,就死馬當活馬醫了,執行命令後,out目錄就被clean掉了

之後用單執行緒make命令(就是單純make, 後面不跟-j引數),一直編譯,沒出什麼錯誤,大約編譯了五六個小時,出現瞭如下資訊;

Generated: (out/target/product/generic/android-info.txt)
Installed file list: out/target/product/generic/installed-files.txt
Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img
Install system fs image: out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image: out/target/product/generic/userdata.img。

證明編譯完成。

原因猜測;之前編譯的時候是開啟的16執行緒,即make -j16,可能編到後來記憶體不太夠了(我的是2G 記憶體),就會出現這個錯誤,之後換成make也不行,必須make clean後重新編譯。所以如果電腦配置不夠高的話,還是老老實實用make命令編譯把。

輸入emulator命令,執行模擬器,會出現以下錯誤:

Nocommand'emulator'found,didyoumean:

Command'qemulator'frompackage'qemulator'(universe)

emulator:commandnotfound

解決辦法是重新執行以下命令:

sourcebuild/envsetup.sh

lunchfull-eng

之後再次執行emulator命令

OK!模擬器成功執行!心中有點小激動。。至此,經過千辛萬苦,android原始碼下載編譯工作完成。

下一步搭建除錯環境。