build/core/main.mk:670: *** Module 'AlarmProvider' in PRODUCT_PACKAGES has nothing to install!. Stop.
./build/target/product/large_emu_hw.mk:25: AlarmProvider
./build/target/product/generic_no_telephony.mk:24: AlarmProvider
Package SDK: out/host/linux-x86/sdk/android-sdk_eng.liuhongchao_linux-x86.zip
SDK: warning: including GNU target out/target/product/msm8660_surf/system/lib/libdbus.so
sdk/build/tools.atree:46: couldn't locate sourcefile:
usr/share/pc-bios/bios.bin
sdk/build/tools.atree:47: couldn'tlocate source file: usr/share/pc-bios/vgabios-cirrus.bin
sdk/build/tools.atree:133: couldn't locate source file: framework/ddmlib-tests.jar
sdk/build/tools.atree:134: couldn't locate source file: framework/ninepatch-tests.jar
sdk/build/tools.atree:135: couldn't locate source file: framework/common-tests.jar
sdk/build/tools.atree:137: couldn't locate source file: framework/sdkuilib-tests.jar
make: *** [out/host/linux-x86/sdk/android-sdk_eng.liuhongchao_linux-x86.zip] Error 44
NO sdk/android-sdk_eng.liuhongchao_linux-x86.zip created
解決辦法:
這裡的framework目錄指的是:~/Android_Src/out/host/linux-x86/framework 這個目錄,
是sdk/build/tools.atree這個檔案有bug,上面那幾個檔案的路徑寫的不對,其實在
Src/out/host/linux-x86/framework 目錄下是有這幾個檔案的,
$cp ~/Android_Src/prebuilt/common/pc-bios ~/Android_Src/usr/share
$ cd ~/Android_Src/out/host/linux-x86/framework
$cp ddmlib.jar ddmlib-test.jar
$cp sdkuilib.jar sdkuilib-test.jar //其他同樣
---------------------------------------------------------------------------------------------
編譯環境
vm+ubuntu12.04 64bit + android ics4.0代碼
在編譯原始碼的時候出現該錯誤
/usr/bin/ld.bfd.real: cannot find -lGL/usr/bin/ld.bfd.real: cannot find -lX11
根據網上大多數的說法,以及官網的介紹。截至5月底,android對ubuntu12.04的編譯平台的支援不是很推薦,有些庫的相容方面會有一些問題
這兩個錯誤判的錯其實就是說沒有在庫路徑中找到libGL.so libX11.so
但是開啟etc/ld.so.conf.d中查看64位的庫路徑下x86_64-linux-gnu.conf設定檔
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
該路徑下是有libGL.so的,並且查看檔案連結指向沒有問題。但是編譯起來還是有錯。
後來再查看了一些資料,因為編譯的時候還是用到了32BIT的libGL.so libX11.so庫檔案,編譯的時候找的不是X86_64庫檔案配置,而是找的是I386庫檔案配置
# Multiarch support
/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu
/lib/i686-linux-gnu
/usr/lib/i686-linux-gnu
果然在I386目錄下沒有找到這兩個檔案
首先安裝這兩個庫檔案的32位版本:
$ sudo apt-get install
libx11-dev:i386(libX11.so)
$ sudo apt-get installibgl1-mesa-glx:i386(libGL.so)
由於libGL.so系統預設沒有進行庫路徑下的連結,還需要手動連結一下
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
尋找指定的符號在Android.mk中
find ./ -name Android.mk -exec grep -l {} \;
環境要求改變。 現在要求記憶體1.5G左右,硬碟25G以上,以前1G、10G就夠了。官方說明“Note: The source download is approximately 6GB in size. You will need 25GB free to complete a single build, and up to 80GB (or more) for a full set of builds.” 可惜我編之前沒看,編譯報錯如下: 錯一:host SharedLib: libbcc (out/host/linux-x86/obj/lib/libbcc.so)collect2: ld terminated with signal 9 [Killed]make: *** [out/target/common/obj/JAVA_LIBRARIES/core_intermediates/noproguard.classes-with-local.dex] Killedmake: *** Waiting for unfinished jobs….make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/llvm-rs-cc] Error 1collect2: ld terminated with signal 9 [Killed]collect2: ld terminated with signal 9 [Killed]make: *** [out/host/linux-x86/obj/lib/libbcc.so] Error 1make: *** [out/host/linux-x86/obj/EXECUTABLES/clang_intermediates/clang] Error 1weihongcsu@ubuntu:~/disk2/android-4.0.1_r1$錯二:target Dex: frameworkmake: *** [out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes-with-local.dex] Killedweihongcsu@ubuntu:~/disk2/android-4.0.1_r1$錯三:arm-eabi-g++: Internal error: Killed (program cc1plus)解決辦法:這些錯誤都是 linux的OOM killer 導致,“記憶體1.5G左右,硬碟25G”就可以解決,我為了保險,把make -j4改成了make.編譯5個小時以上吧,out目錄大小:12G。