.NET for Android 錯誤 XA5207

範例訊息

XA5207: Could not find android.jar for API Level 28. This means the Android SDK platform for API Level 28 is not installed. Either install it in the Android SDK Manager (Tools > Android > Android SDK Manager...), or change your .NET for Android project to target an API version that is installed.

問題

若要建構專案,必須安裝符合目標 API 層級的 Android SDK 平台。

解決方法

使用 Android SDK Manager(工具 > Android > Android SDK Manager...)以安裝所需 API 級別的 Android SDK 平台。 或者你也可以從終端機或命令提示字元執行以下指令來安裝缺少的 API 層級:

dotnet build -t:InstallAndroidDependencies -f net8.0-android "-p:AndroidSdkDirectory=<path to sdk directory>"

新的 .NET for Android 系統的一部分是,當你升級專案時,會自動升級到最新的 API 等級。 例如 net7.0-android 允許你鎖定 API 33,但 net8.0-android 會自動鎖定 API 34。 如果你想保留目前的目標 API 層級,你需要將 'uses-sdk' 加入到android:targetSdkVersion檔案AndroidManifest.xml中。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="1"
    android:versionName="1.0"
    package="com.companyname.myapp">
  <uses-sdk android:targetSdkVersion="33">
  <application android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" />
</manifest>

然後,你可能需要執行上文提到的 InstallAndroidDependencies 目標,以確保已安裝所需的 API 層級。