Android在Ubuntu上失败

尝试在Ubuntu 10.04(在VMware Player上)上构buildAndroid开源项目。

我按照这个链接的说明(它说使用sun-java5 JDK 1.5需要一些钓鱼找Ubuntu的) –

有299编译错误。 想知道使用JDK 1.5的方向是否过时? 一些错误如下(和许多类似的) –

external/jsilver/src/com/google/clearsilver/jsilver/data/HDFDataFactory.java:77: method does not override a method from its superclass @Override external/jsilver/src/com/google/clearsilver/jsilver/data/UniqueStack.java:106: cannot find symbol symbol : method offerLast(T) location: class java.util.LinkedList<T> objectStack.offerLast(object); external/jsilver/src/com/google/streamhtmlparser/impl/HtmlParserImpl.java:507: cannot find symbol symbol : method isEmpty() location: class java.lang.String if (!tagString.isEmpty() && tagString.charAt(0) == '/') { external/jsilver/src/com/google/streamhtmlparser/util/JavascriptTokenBuffer.java:80: cannot find symbol symbol : method copyOf(char[],int) location: class java.util.Arrays buffer = Arrays.copyOf(aJavascriptTokenBuffer.buffer, 

部分回答我自己的问题 – 切换到java6并进一步在构建过程中。 Android下载页面上的说明似乎已过时。

现在有没有在Ubuntu上安装正确的C ++库的问题…所以构建尚未成功

我在另一个博客上读到,在64位和java6下编译是很必要的,但是我确信,我正在寻找另一个解决方案

感谢您的意见和建议。

结论 – 我用Sun JDK 1.6获得了成功的构建。 花了7到8次,每次做“干净”都很重要。

注意上面问题中显示的错误是针对在Java 1.6中添加的java方法的 – 所以Android源代码需要现在在主源代码分支上的Java 1.6(请参阅此线程中的德语链接),即使指示说使用Java 1.5 。 由于C库依赖关系,它尝试执行64位构建失败。 我在下面的链接中使用了建议的解决方案,需要对4个make文件进行一些小改动,以便可以进行32位构建(如果由于某种原因使用Java 1.6,makefile将设置为执行64位构建)。

请参阅此链接的用户amberved的“sol 2” – 这是为我工作的。

在回答上述评论问题 – 我认为我有32位的Ubuntu(我怎么告诉?)。 系统是运行在32位Vista系统上的VMware上运行的Ubuntu。 关于“需要使用java6编译64位”,对引用的makefile的编辑是32位版本的解决方法。

我认为如果Linux是64位操作系统,uname会报告像i686_64这样的东西。

uname -a Linux jotobjects-ubuntu 2.6.32-21-generic#32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU / Linux