Ubuntu10.04 32bit Compile Android2.2

来源:互联网 发布:电视机选择 知乎 编辑:程序博客网 时间:2024/05/20 03:44

Ubuntu10.04 32bit Compile Android2.2
http://iopenfree.appspot.com/2010/10/25/code.html

1repare Base environment
2:repo sync ->download Android latest Code
3:make

1:issue "You are attempting to build on a 32-bit system"

How to fix:
tommy@tommy-laptop:/work/myandroid$ vim build/core/main.mk
#ifneq (64,$(findstring 64,$(build_arch)))
#Jiujin.hong 10.28/201
#Jiujin.hong 10.28/2010
ifneq (i686,$(findstring i686,$(build_arch)))
$(warning ************************************************************)
$(warning You are attempting to build on a 32-bit system.)
$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
$(warning ************************************************************)
$(error stop)
endif


external/clearsilver/cgi/Android.mk,
external/clearsilver/java-jni/Android.mk,
external/clearsilver/util/Android.mk,
external/clearsilver/cs/Android.mk

disable LOCAL_CFLAGS += -m64


2:issue "host C: libclearsilver-jni <= external/clearsilver/java-jni/j_neo_util.c
In file included from /usr/include/features.h:378,
                 from /usr/include/string.h:26,
                 from external/clearsilver/java-jni/j_neo_util.c:1:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: 没有那个文件或目录
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libclearsilver-jni_intermediates/j_neo_util.o]错误"

How to fix:
sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6

 

3.you need install flex,g++

 

4.

在Ubuntu 10.04编译Android froyo的时候一直出现一个错误。

Could not load 'clearsilver-jni'
java.library.path = out/host/linux-x86/lib
make: *** [out/target/common/docs/api-stubs-timestamp] 错误 45

 

我的JDK是1.6.0的,不知道是那里错了,查看/out/target/product/generic文件夹下生成了如下文件

ramdisk.img
Android-info.txt
clean_steps.mk
previous_build_config.mk
userdata.img

只有这五个文件,少了个system.img。

Android系统编译不能使用1.6,只能使用1.5。

clearsilver-jni 找不到的原因是jdk不匹配,我使用的是jdk1.6编译的,在eclair阶段使用1.6是正常的,froyo却出错了。改回jdk1.5,ok!正常编译。

 

更新jdk命令

https://help.ubuntu.com/community/Java

 

java虚拟机使用的是ubuntu默认的。需要现安装jdk1.5.0,然后在调用

  • Open a Terminal window
  • Run sudo update-java-alternatives -l to see the current configuration and possibilities.

  • Run sudo update-java-alternatives -s XXXX to set the XXX java version as default. For Sun Java 6 this would be sudo update-java-alternatives -s java-6-sun

  • Run java -version to ensure that the correct version is being called.

之后make即可


*************************