2010-09-07 110 views
1

試圖在Ubuntu 10.04(在VMware Player上)上構建Android開源項目。Android在ubuntu上失敗

我按照說明在this link(和它說要用太陽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, 

回答

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位構建)。

請參閱用戶amberved在this link處的「sol 2」 - 這對我來說很合適。

在回答上述評論問題 - 我認爲我有32位Ubuntu(我怎麼告訴?)。系統是運行在32位Vista系統上的VMware上運行的Ubuntu。關於「必須使用java6編譯64位」,我對引用的makefile的編輯是32位版本的解決方法。

我認爲uname會報告像i686_64,如果Linux是64位操作系統?

UNAME -a Linux的jotobjects Ubuntu的2.6.32-21-通用#32 Ubuntu的SMP週五4月16日8時10分02秒UTC 2010 i686的GNU/Linux的

+0

您正在運行32位版本。如果你運行的是64位版本,那麼在這個輸出中會有x86_64。很高興看到你解決了你的問題!你可以接受你贏得的答案,以表明這個問題現在已經解決了。 – 2010-09-08 18:29:21

+0

爲什麼你發佈自己的問題的答案,而不是更新問題本身? – MAK 2010-09-08 18:47:30

+0

對不起,我不知道這個協議。編輯問題是否表明問題有答案? – jotobjects 2010-09-08 19:12:48

0

部分答案我自己的問題 - 切換到的Java6並在構建過程中進一步得到。 Android下載頁面上的說明似乎已過時。

現在具有不具有正確的C++安裝在Ubuntu庫的問題......因此,建立尚未成功

+0

您正在使用什麼版本的Ubuntu 10.04?它是32位還是64位?關於java5的問題。我在開發者頁面的某個地方看到了這些信息,他們解釋說java5會因爲被重寫或者其他原因而產生錯誤。 – 2010-09-07 20:19:16

+0

Android幹線現在需要JDK 1.6。當前版本(Froyo)分支需要JDK 1.5。 – jotobjects 2010-09-08 19:17:28

0

我在另一篇博客,這是nesessary在64位與的Java6編譯閱讀,但我我敢肯定,我試圖找到另一種解決方案

+0

這裏是提到的鏈接https://groups.google.com/group/android-building/browse_thread/thread/750f55cddd7aa4b5 – German 2010-09-08 05:04:09

+0

是的 - Android幹線現在需要JDK 1.6。當前版本(Froyo)分支需要JDK 1.5。構建說明不會告訴你... – jotobjects 2010-09-08 19:16:31