問題
這個訊息表示在建置過程中,將 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-v8a、 armeabi-v7a、 x86 或 x86_64。
- 移除所有重複的原生函式庫實例。