編譯Android源碼時常見問題以及解決方案

來源:互聯網
上載者:User

下載Android源碼之後,這裡以Android 2.3(gingerbread)為例,編譯時間可能會遇到的一些問題,下面來總結下這些常見的問題以及解決方案。


1.make: *** No rule to make target `run-java-tool', needed by `out/target/common/docs/doc-comment-check-timestamp'.  Stop.

這是由於沒有設定$ANDROID_JAVA_HOME 造成的,只要設定下ANDROID_JAVA_HOME即可。

解決辦法:

執行

export ANDROID_JAVA_HOME=$JAVA_HOME 


2.build/core/main.mk:73: You are attempting to build on a 32-bit system.

   build/core/main.mk:74: Only 64-bit build environments are supported beyond froyo/2.2.

這是因為Android2.2(froyo)之後預設只支援64-bit。

解決辦法:

將

./external/clearsilver/cgi/Android.mk

./external/clearsilver/java-jni/Android.mk

./external/clearsilver/util/Android.mk

./external/clearsilver/cs/Android.mk

這四個檔案中的

LOCAL_CFLAGS += -m64

LOCAL_LDFLAGS += -m64

注釋掉,或者將“64”換成“32”

LOCAL_CFLAGS += -m32

LOCAL_LDFLAGS += -m32

然後,將

./build/core/main.mk 中的

ifneq (64,$(findstring 64,$(build_arch)))

改為:

ifneq (i686,$(findstring i686,$(build_arch)))

即可。


3.make: *** [out/target/product/generic/obj/lib/crtbegin_dynamic.o] Error 1

這是在32位Linux上編譯引起的arm-eabi-4.4.3版本問題,所以需要修改,這裡我們使用arm-eabi-4.4.0版本編譯器,建立一個軟連結。

解決辦法:

在./prebuilt/linux-x86/toolchain中執行

$ mv arm-eabi-4.4.3 arm-eabi-4.4.3.old

$ ln -s arm-eabi-4.4.0 arm-eabi-4.4.3

即可。


4.make: *** [out/target/product/generic/obj/EXECUTABLES/BufferQueue_test_intermediates/LINKED/BufferQueue_test] Error 1

解決辦法:

把system/media/opensles/libopensles目錄下的IAndroidEffect.c改為IAndroidEffect.cpp,並且把Android.mk中的內容“IAndroidEffect.c”也一併修改為”IAndroidEffect.cpp“。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.