主题 : 求救:Android 在32位 Ubuntu 10.04 下编译出错 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 37627
精华: 0
发帖: 26
金钱: 130 两
威望: 26 点
综合积分: 52 分
注册时间: 2011-02-13
最后登录: 2013-07-18
楼主  发表于: 2011-08-07 09:20

 求救:Android 在32位 Ubuntu 10.04 下编译出错

target Jar: framework (out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/javalib.jar)
'out/target/common/obj/JAVA_LIBRARIES/framework_intermediates//classes.dex' as 'classes.dex'...
Aidl Preprocess: out/target/common/obj/framework.aidl
Docs droiddoc: out/target/common/docs/doc-comment-check
htmlDir not a directory: out/target/common/docs/gen
/bin/bash: line 26:  7885 Killed                  LD_LIBRARY_PATH=out/host/linux-x86/lib javadoc \@out/target/product/mini6410/obj/JAVA_LIBRARIES/doc-comment-check_intermediates/droiddoc-src-list -J-Xmx768m -J-Djava.library.path=out/host/linux-x86/lib -quiet -doclet DroidDoc -docletpath out/host/linux-x86/framework/clearsilver.jar:out/host/linux-x86/framework/droiddoc.jar:out/host/linux-x86/framework/apicheck.jar -templatedir build/tools/droiddoc/templates-sdk -templatedir build/tools/droiddoc/templates -htmldir frameworks/base/docs/html -htmldir out/target/common/docs/gen -bootclasspath /home/syu/android/Android-2.3.4/jdk1.6.0_23/lib/../jre/lib/rt.jar -classpath out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar -sourcepath frameworks/base/core/java:frameworks/base/graphics/java:frameworks/base/location/java:frameworks/base/media/java:frameworks/base/opengl/java:frameworks/base/sax/java:frameworks/base/telephony/java:frameworks/base/wifi/java:frameworks/base/vpn/java:frameworks/base/keystore/java:frameworks/base/voip/java:out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar -d out/target/common/docs/doc-comment-check -hdf page.build GRJ22-eng.syu.20110806.210348 -hdf page.now "06 Aug 2011 21:04" -knowntags ./frameworks/base/docs/knowntags.txt -since ./frameworks/base/api/1.xml 1 -since ./frameworks/base/api/2.xml 2 -since ./frameworks/base/api/3.xml 3 -since ./frameworks/base/api/4.xml 4 -since ./frameworks/base/api/5.xml 5 -since ./frameworks/base/api/6.xml 6 -since ./frameworks/base/api/7.xml 7 -since ./frameworks/base/api/8.xml 8 -since ./frameworks/base/api/9.xml 9 -since ./frameworks/base/api/10.xml 10 -werror -hide 13 -overview frameworks/base/core/java/overview.html -hdf sdk.version 2.3 -hdf sdk.rel.id 1 -parsecomments
make: *** [out/target/common/docs/doc-comment-check-timestamp] Error 45
级别: 圣骑士
UID: 44407
精华: 0
发帖: 386
金钱: 1945 两
威望: 389 点
综合积分: 772 分
注册时间: 2011-04-25
最后登录: 2014-08-25
1楼  发表于: 2011-08-08 18:02
編譯環境Ubuntu10.10 32bit/Kernel 2.6.32.24   OK

Ubuntu 10.10/kernel 2.6.35-22-generic會出現這個問題

重新編譯Kernel 2.6.32.24(www.kernel.org下載)

錯誤:
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.11' not found (required by prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc)
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.11' not found (required by prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc)
解決:
Ubuntu install kernel 2.6.32.24
sudo apt-get install libncurses5-dev
make menuconfig
make -j2
make modules_install
make install
update-grub
重新開機
進入2.6.32.24選項




一、準備工作,安裝編譯過程中需要的32位Library,需要使用root用戶權限操作安裝命令

Ubuntu
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev libx11-dev libreadline5-dev libreadline5 libz-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos  uuid  liblzo2-2 liblzo2-dev



二、修改 frameworks/base/libs/utils/Android.mk

LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)
改為
LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)  -fpermissive
三、修改 build-android
因為源碼裡面的JDK1.6.0_23是32位版本,所以不能使用。將3-5,15行注釋掉,在15行下增加一行,重新加入你的JDK目錄,如果本身環境變量已經有了,可以不加
我改成了如下的內容
export PATH=/usr/java/jdk1.6.0_25/bin:PATH



編譯Android Kernel

複制.confign_android_n43 為.config
編輯Makefile,設定CROSS_COMPILE ?=/home/Android-2.3.4/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
make -j2


到執行路徑

cd /home/Android-2.3.4



我的設定PATH

PATH="/home/Android-2.3.4/jdk1.6.0_23/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/Android-2.3.4/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin"
export JAVA_HOME=/home/Android-2.3.4/jdk1.6.0_23
export ANDROID_JAVA_HOME=$JAVA_HOME
export JAVA_BIN=/home/Android-2.3.4/jdk1.6.0_23/bin
export CLASSPATH=/home/Android-2.3.4/jdk1.6.0_23/lib/dt.jar:/home/Android-2.3.4/jdk1.6.0_23/lib/tools.jar
export ANDROID_PRODUCT_OUT=/home/Android-2.3.4/out/target/product/generic
export PATH=$PATH:/home/Android-2.3.4/out/target/product/generic
export PATH=$PATH:/home/Android-2.3.4/out/host/linux-x86/bin
source /home/Android-2.3.4/build/envsetup.sh
./setenv
export ECLIPSE_HOME=/home/eclipse




錯誤:
make: *** No rule to make target 'out/target/product/generic/obj/lib/libcamera.so', needed by 'out/target/product/generic/obj/SHARED_LIBRARIES/libcameraservice_intermediates/LINKED/libcameraservice.so'.  Stop.
make: *** Waiting for unfinished jobs....
解決:
修改 /home/Android-2.3.4/frameworks/base/services/camera/libcameraservice/Android.mk,USE_CAMERA_STUB:=false ->ture


LOCAL_PATH:= $(call my-dir)

# Set USE_CAMERA_STUB if you don't want to use the hardware camera.

# force these builds to use camera stub only
ifneq ($(filter sooner generic sim,$(TARGET_DEVICE)),)
  USE_CAMERA_STUB:=true
endif

USE_CAMERA_STUB:=false->true

ifeq ($(USE_CAMERA_STUB),)
  USE_CAMERA_STUB:=false
endif






./build-android

make


這樣 "./build-android" 或 "make" 就會OK了
[ 此帖被kazaya在2011-08-12 14:27重新编辑 ]
级别: 新手上路
UID: 37627
精华: 0
发帖: 26
金钱: 130 两
威望: 26 点
综合积分: 52 分
注册时间: 2011-02-13
最后登录: 2013-07-18
2楼  发表于: 2011-08-11 22:22
非常感谢