编译Android源码

 

注:我下载的是源码2.3.4 ,安装了JDK1.5

 

只需要在source一个make命令就行了,可是却不太顺利,出现了三个问题。感谢以下两位网友分享:

http://blog.163.com/yuyanchao2005@126/blog/static/677884342010101143958561/

http://blog.csdn.net/hp_2008/article/details/6735114

 

以下内容主要为复制上面两位网友内容:

问题一:You are attempting to build on a 32-bit system.Only 64-bit build environments are supported beyond froyo/2.2.  

下载完代码后,进行make,
$cd ~/mydroid
$make
却出现了如下错误:
build/core/main.mk:73: You are attempting to build on a 32-bit system.
build/core/main.mk:74: Only 64-bit build environments are supported beyond froyo/2.2.
这是因为froyo/2.2默认只支持64-bit,看到有些网友还要去下载64-比他的操作系统,很是麻烦,于是通过不断搜索资料终于解决,

解决办法:
需要进行如下修改即可,
./external/clearsilver/cgi/Android.mk 
./external/clearsilver/java-jni/Android.mk 
./external/clearsilver/util/Android.mk 
./external/clearsilver/cs/Android.mk
四个文件中的
LOCAL_CFLAGS += -m64 
LOCAL_LDFLAGS += -m64 
注释掉,或者将“64”换成“32”
LOCAL_CFLAGS += -m32 
LOCAL_LDFLAGS += -m32 

然后,将
./build/core/main.mk 中的
ifneq (64,$(findstring 64,$(build_arch))) 
改为:
ifneq (i686,$(findstring i686,$(build_arch))) 

OK!问题解决

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

问题2:Your version is: java version "1.5.0_22".
     The correct version is: 1.6.

解决办法:vim build/core/main.mk  将文件里面:

java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1\.6[\. "$$]')

改为:

java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1\.5[\. "$$]')

注:文件中有两处要改。wim 可用 gedit 代替。

 

补充:今天发现还要改 build/core/combo/javac.mk 里面的 1.5 改为 1.6 或。。。你用的版本。

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

问题3:method does not override a method from its superclass @Override...

Java 1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明;但1.6已经扩展到对接口的方法;所以如果还是以Java 1.5的编译器来编译的话,会出现错误。

注:晕啊,是哪位大神说要JDK1.5的,这个问题好像没法解决了,重装JDK1.6吧。

——安装1.6和1.5过程还是一样的,可以参考之前文章。不过得把那篇文章中第三步,export的JDK路径改成1。6的再重启,这样重启后java -version看到的就是1.6的版本了。

注:现在明白了,用make编译source时,要使用1.6的版本,因为1.6使用了接口技术。但是编译make sdk时(不推荐用这个命令编译sdk,可以使用。。。),必段要JDK1。5了,这时,就改上面的路径,再重启。好像可以不需要这么麻烦的,用个命令切换就行,但我还是麻烦点算了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值