android2.3的编译


官方编译环境:
Ubuntu 10.04 64bit
64-bit Sun JDK


本文编译环境:
Ubuntu 9.04 32bit
32-bit Sun JDK


修改了如下几个地方:
1.安装了JDK1.6--------------(服务器系统已兼容JDK1.5,编译的froyo也正常)


(以下2,3,4都是需要修改android2.3源码中的相关文件)
2.参考《三星的android2.3_installation_guide文档》中的修改说明改成32位PC编译,


出现的BUG信息为:"You are attempting to build on a 32-bit system"
修改如下:


a. Modify /build/core/main.mk
-ifneq (64, $(findstring 64, $(build_arch)))
+ifneq(i686, $(findstring i686, $(build_arch)))


b. Modify 4 files
./external/clearsilver/cgi/Android.mk
./external/clearsilver/java-jni/Android.mk
./external/clearsilver/util/Android.mk
./external/clearsilver/cs/Android.mk
Disable 2 options(by adding comment sign "#")
# LOCAL_CFLAGS += -m64
# LOCAL_LDFLAGS += -m64


3.修改编译器:


出现的BUG信息为:“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)”


修改步骤如下:
$ cd 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.解决编译opensles报错的BUG,


出现的BUG信息为:
out/target/product/generic/obj/lib/libOpenSLES.so: undefined reference to `typeinfo for android::SortedVectorImpl'
out/target/product/generic/obj/lib/libOpenSLES.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'


修改如下:
在system/media/opensles/libopensles及其下Android.mk中将IAndroidEffect.c改名为IAndroidEffect.cpp (google提供的官方的android2.3也是这样修改的)




参考文献:
《SMDKV210_Android2.3_Installation_Guide v1.0.pdf》 -->三星提供的文档
《http://alpha-blog.wanglianghome.org/》
《http://source.android.com/source/download.html》
《http://www.cnddu.com/archives/tag/编译》
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值