共用方式為


Xamarin.Android 和 Java 開發工具套件 9 或更新版本

本文說明如何在 Xamarin.Android 中解決 Java Development Kit (JDK) 9 或更新版本錯誤。

概觀

Xamarin.Android 使用 Java 開發工具套件 (JDK) 與 Android SDK 整合,以建置 Android 應用程式和執行 Android 設計工具。 最新版的 Android SDK(API 24 和更新版本)需要 JDK 8 (1.8) 或 Microsoft Mobile OpenJDK Preview。 由於Google提供的Android SDK工具尚未與 JDK 9 相容,因此 Xamarin.Android 不適用於 JDK 9 或更新版本。

注意

若要以 Android API 31 為目標,您需要安裝 JDK 11。 在這裡深入瞭解 JDK 11 對 Visual Studio 的影響。

JDK 錯誤

如果您嘗試使用比 JDK 8 更新版本的 JDK 來建置 Xamarin.Android 專案,您將會收到明確的錯誤,指出不支援此版本的 JDK。 例如:

Building with JDK Version `9.0.4` is not supported. Please install JDK version `1.8.0`. See https://aka.ms/xamarin/jdk9-errors

若要解決這些錯誤,您必須安裝 JDK 8 (1.8),如 如何? 更新 Java 開發工具包 (JDK) 版本中所述 或者,您可以安裝 Microsoft Mobile OpenJDK 預覽 :Microsoft Mobile OpenJDK 最終會取代 Xamarin.Android 開發的 JDK 8。

檢查 JDK 版本

您可以輸入下列命令來檢查已安裝的 Java 版本(JDK bin 目錄必須位於 您的 PATH中):

java -version

如果已安裝 JDK 9,您會看到如下的訊息:

java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

如果已安裝 JDK 9 或更新版本,您必須安裝 Java JDK 8 (1.8) 或 Microsoft Mobile OpenJDK Preview。 如需如何安裝 JDK 8 的詳細資訊,請參閱 如何? 更新 Java 開發工具包 (JDK) 版本?。 如需如何安裝 Microsoft Mobile OpenJDK 的資訊,請參閱 Microsoft Mobile OpenJDK Preview

請注意,您不需要卸載更新版本的 JDK;不過,您必須確定 Xamarin 使用 JDK 8,而不是更新的 JDK 版本。 在 Visual Studio 中,按兩下 [工具>選項 > Xamarin > Android 設定]。 如果 Java 開發工具包位置未設定為 JDK 8 位置 (例如 C:\Program Files\Java\jdk1.8.0_111),請按兩下 [變更 ],並將它設定為安裝 JDK 8 的位置。 在 Visual Studio for Mac 中,流覽至 [喜好設定 > 專案 > SDK 位置 > ][Android > Java SDK][JDK], 然後按兩下 [ 瀏覽 ] 以更新此路徑。

JDK 9 的已知問題

apksigner

apksigner 和 JDK 9 有已知問題,其中 apksigner.bat 檔案會叫 apksigner.jar 用with -Djava.ext.dirs ,而不是 -classpath JDK 9 預期。 建議使用 JDK 8 (1.8)。 如需如何安裝 JDK 8 的詳細資訊,請參閱 如何? 更新 Java 開發工具包 (JDK) 版本?

如果您已安裝 JDK 9,請確定您的環境變數上 PATH 未設定下列路徑,因為它仍然指向 JDK 9: C:\ProgramData\Oracle\Java\javapath。 拿掉它之後, java-version 命令行應該會顯示 JDK 8。