android源码编译与开发:问题记录

本文记录了在Ubuntu 12.04环境下编译Android 4.0系统时遇到的问题,包括JDK版本冲突、源码中的编译错误等,并提供了详细的解决步骤。首先,解决JDK 1.5与1.7版本不兼容的问题,修改相应mk文件;其次,修复了libcore/luni/src/main/java/java/lang/Enum.java中的访问权限错误;最后,解决了external/android-mock/src/com/google/android/testing/mocking/AndroidMock.java中的名称冲突错误。通过这些调整,成功编译了Android源码。
摘要由CSDN通过智能技术生成

       最近在ubuntu12.04 x86环境上编译android4.0系统,和以前在10.10上编译遇到的问题完全不一样,网上也查不到知识,所以把自己解决问题的心得记录如下:


       1. 目标发行版 1.5 与默认的源发行版 1.7 冲突。因为我装的jdk是1.7版本的,在了解了build下面的编译规则后,去这个目录下查找使用了jdk1.5规则的mk。

           执行一下命令:

                                       grep -R 1.5 *

                                       输出中找到:combo/javac.mk 把所有的用到 -target 1.5 中的1.5改成1.7

                                      注意:在我编译几个小时候还是出错了,居然是bad class file错误,原因还是因为有些库是1.5的没有重新编译,1.7的库using的时候不兼容

                                                  最后下了个1.6的终于可以编译了。

        2. libcore/luni/src/main/java/java/lang/Enum.java:147: 错误: ordinal可以在Enum中访问private

                                                            return  return ordinal - o.ordinal;

            看到是个访问私有成员语法错误,我将其改了 return  return ordinal - o.ordinal();

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值