编译android2.2,Ubuntu 10.10 64Bit下编译Android 2.2

3、编译 :

首先,还是到前面的链接下仔细阅读“Building the code”这部分内容,并照做。其中,执行:lunch 时,输出下面几个选项:

You're building on Linux

Lunch menu... pick a combo:

1. full-eng

2. full_x86-eng

3. simulator

4. full_passion-userdebug

5. full_crespo-userdebug

选择1即可。下面将我在执行make的过程中,遇到的错误总结如下并给出相应的解决方法:

1)、Checking build tools versions...

build/core/main.mk:76: ************************************************************

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

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

build/core/main.mk:79: ************************************************************

build/core/main.mk:80: *** stop。 停止。

这个错误的原因是由于build/core/main,mk文件中默认的将Android2.3的编译定义在64bit系统上。解决方法就是将75~81行注释掉。

2)、/bin/bash: bison:找不到命令

Checking build tools versions...

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

You are attempting to build with the incorrect version

of javac.

Your version is: /bin/bash: javac:找不到命令.

The correct version is: 1.6.

出现该错误的原因是没有进行搜索粮响 中2)中描述的内容,按照上述步骤走一遍即可。

3)、host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so)

/usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-linux-gnu/4.4.5/../../../libz.so when searching for -lz

/usr/bin/ld: skipping incompatible /usr/lib/gcc/i686-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

出现这个错误的原因是由于libz这个库的版本不对,Ubuntu10.10中默认安装的是32bit的库,而android中编译libneo_cgi.so时默认需要的是64bit的库,所以需要修改以下几个文件:

external/clearsilver/cgi/Android.mk

external/clearsilver/java-jni/Android.mk

external/clearsilver/util/Android.mk

external/clearsilver/cs/Android.m

将这些.mk文件中的

LOCAL_CFLAGS += -m64

LOCAL_LDFLAGS += -m64

全部改成

LOCAL_CFLAGS += -m32

LOCAL_LDFLAGS += -m32

4)、cannot find -lXXX

所有编译过程中遇到的类似这样的错误,都是缺少libXXX这样的库,解决方法就是:

首先:利用命令:apt-cache search XXX 进行库搜索

然后:找那些libXXX-dev这样的库进行安装,命令就是:sudo apt-get install libXXX-dev

最后:继续执行make

4、大功告成

忆往昔,痛并快乐着,过程很曲折,结果很美好,编译后的结果存在与android2.3源码根目录的out目录下0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值