Android在ubuntu上失败

时间:2010-09-07 17:46:27

标签: android ubuntu

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

我按照this link的说明进行操作(它说使用了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,

3 个答案:

答案 0 :(得分:0)

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

现在遇到没有在ubuntu上安装正确的C ++库的问题......所以构建还没有成功

答案 1 :(得分:0)

我在另一篇博客中读到有必要使用64位和java 6进行编译,但我很确定,我试图找到另一种解决方案

答案 2 :(得分:0)

感谢您的意见和建议。

结论 - 我确实使用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位构建)。

请参阅this link的用户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