Android 原始碼中JAVA 版本問題

來源:互聯網
上載者:User

   Android 的原始碼現在要求開發環境的Java 版本為1.5 .  當時在搭建開發環境的時候,沒有注意到 java 版本的要求,就安裝了 1.6 版的java。 結果在編譯的時候遇到了java 版本檢測不通過的問題。

   開啟檔案 build/core/main.mk ,找到 java 版本檢測的地方,屏蔽原來的代碼,添加新的一行判斷為:

# Check for the correct version of java

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

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

   java 版本判斷有兩處,另外一處也同樣修改為:# Check for the correct version of javac#javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]')javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.6[/. "$$]') 這樣修改就可以在編譯 Android 的時候,順利編譯通過。後來在編譯 Android SDK 的時候,遇到提示:Docs droiddoc: out/target/common/docs/dxjavadoc: 錯誤 - 在 doclet 類 DroidDoc 中,方法 start 已拋出異常 java.lang.reflect.InvocationTargetExceptioncom.sun.tools.javac.code.Symbol$CompletionFailure: 未找到 sun.util.resources.OpenListResourceBundle 的類檔案1 錯誤make: *** [out/target/common/docs/dx-timestamp] Error 45   其實在編譯過程中我是不需要編譯SDK 的文檔部分的,這個問題是由於java 的版本不是 1.5 的原因。 不想再去把開發環境中的java 版本換成 1.5的,便決定屏蔽了 droiddoc 的編譯。   開啟 build/core/droiddoc.mk 檔案找到  ALL_DOCS += $(full_target)   把這一行屏蔽。既可

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.