.NET for Android 錯誤/警告 XA4301

問題

這個訊息表示在建置過程中,將 Android 原生函式庫(*.so 檔案)加入 .NET for Android 專案的 APK 檔案時出現問題。

情況包括:

  • .NET for Android 無法判定該函式庫的 Android ABI。
    • 如果是從組件參考過來,Android 版 .NET 會跳過這個檔案並發出提及此檔案的警告。
    • 如果來自 .NET for Android 專案的內部,系統會因為提到這個檔案而出現錯誤訊息。
  • 發現了原生函式庫的重複實例。
    • Android 版 .NET 會包含 APK 中的第一個項目,並發出警告表示檔案重複。

請參閱 Android 文件 以了解 Android ABI。

常見原因:

  • .NET for Android 專案在一個具有 @(EmbeddedNativeLibrary)@(AndroidNativeLibrary) 組建動作的目錄中,而該目錄未被命名為有效的 Android ABI。
  • .NET for Android 專案指的是兩個包含相同原生函式庫的 Android 函式庫專案,透過 @(EmbeddedNativeLibrary) or @(AndroidNativeLibrary) 建置項目呈現。

解決方法

  • 將任何 Android 原生函式庫放在 .NET for Android 專案中,並以相應 ABI 命名的目錄中,例如 arm64-v8aarmeabi-v7ax86x86_64
  • 移除所有重複的原生函式庫實例。