Ubuntu-11.04 32bit 编译Android 2.3源码

本文详细介绍了在使用Ubuntu 11.04系统配置Android 2.3编译环境时遇到的问题及解决方案,包括修改Makefile以兼容32位系统、安装lib32z1-dev解决编译时找不到libz.a和libz.so的问题。通过执行特定命令,最终成功解决了编译过程中遇到的技术难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在自己的机器上配置Android2.3的编译环境,由于之前安装的32位Ubuntu系统,直接升级到11.04,懒得重装64位的系统,所以编译时遇到了不少问题:

1.Makefile中编译环境的检查过不去:提示安装64位系统

可以把操作系统的检查部分修改为

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

#line below is add to compatible 32bit system
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
endif

或者干脆把check操作系统这一部分干掉。

2.编译过程中提示找不到libz.a和libz.so

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.a when searching for -lz
/usr/bin/ld: skipping incompatible //usr/lib/libz.so when searching for -lz
/usr/bin/ld: skipping incompatible //usr/lib/libz.a when searching for -lz
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status

百度了一下,多是安装lib32z1-dev,我在命令行里sudo apt-get install lib32z1-dev,却提示E: 未发现软件包 lib32z1-dev;

应该安装lib64z1-dev,sudo apt-get install lib32z1-dev,在新立得软件包管理器中也可以安装。

安装成功后可以继续编译。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值