問题
此消息指示在生成过程中将 Android 本机库(*.so 文件)添加到 .NET for Android 项目的 APK 文件时出现问题。
情况包括:
- .NET for Android 无法确定库的 Android ABI。
- 如果来自程序集引用,适用于 Android 的 .NET 将跳过此文件并发出一条提及该文件的警告。
- 如果源自 .NET for Android 项目,适用于 Android 的 .NET 将会给出一个与该文件相关的错误。
- 找到原生库的重复项。
- 适用于 Android 的 .NET 将包括 APK 中的第一个条目,并发出指示重复文件的警告。
请参阅 Android 文档 ,了解 Android ABIs。
常见原因:
- .NET for Android 项目在一个未被命名为有效 Android ABI 的目录中包含一个
@(EmbeddedNativeLibrary)或@(AndroidNativeLibrary)构建动作。 - .NET for Android 项目正在引用两个 Android 库项目,这两个项目通过
@(EmbeddedNativeLibrary)或@(AndroidNativeLibrary)生成项包含相同的本地库。
解决方案
- 将任何 Android 本机库放在使用相应 ABI 命名的 .NET for Android 项目中的目录中,例如 arm64-v8a、 armeabi-v7a、 x86 或 x86_64。
- 删除本机库的任何重复实例。