android2.2源码编译问题7-4

今天下了Android2.2源码

repo init -u git://android.git.kernel.org/platform/manifest.git

下载完成后编译,,遇到几个问题:

1 提示Java版本不对,正确的版本是1.6的,而我的是1.5的,此时想可能是2.2版本升级之后要求只能用1.6的Java,于是,更换Java版本,

   删除1.5,清除环境变量(以前是手动配置的),

   apt-get install sun-java6-jdk sun-java6-jre

   Java -version 检查版本信息

   但是编译又出现问题。

2 提示:

  host C: libclearsilver-jni <= external/clearsilver/java-jni/j_neo_util.c
In file included from /usr/include/features.h:378,
                 from /usr/include/string.h:26,
                 from external/clearsilver/java-jni/j_neo_util.c:1:

/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or directory
很奇怪,为什么会与usr中的相关呢?(知道的告小弟一声,先谢过!)

在/usr/include/gnu只有文件 stubs-32.h,文件 /usr/include/gnu/stubs.h中的内容为:


#include <bits/wordsize.h>

#if __WORDSIZE == 32
# include <gnu/stubs-32.h>
#elif __WORDSIZE == 64
# include <gnu/stubs-64.h>
#else
# error "unexpected value for __WORDSIZE macro"
#endif

 

3后来更改repo init 为

repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo

直接指定要下载的版本,编译发现竟然不一样(我觉得应该一样啊),这时又提示Java1.5才是正确的版本!!!搞什么啊?这么复杂!

他们之间什么关系啊??郁闷啊。

又把java换了,编译就通过了。

 

 

补充:

下面是 PoemCode 提出的解决办法:

apt-get install libc6-dev-amd64
apt-get install g++-multilib lib64stdc++6
apt-get install lib64z1-dev
具体细节参看http://www.poemcode.net/2010/07/android-stubs-64/

你可能感兴趣的:(java,android,File,git,include,2010)