Android Studio Gradle NDK buildFlavor 忽略处理器类型

Android Studio Gradle NDK buildFlavor ignoring processor type

我在使用 gradle 和百度推送库时遇到一些问题。

在我们的应用中,我们针对不同的处理器类型使用 buildFlavor,

  productFlavors {
        arm {
            versionCode Integer.parseInt("8" + defaultConfig.versionCode)
            ndk {
                abiFilter "armeabi"
            }
        }
        x86 {
            versionCode Integer.parseInt("6" + defaultConfig.versionCode)
            ndk {
                abiFilter "x86"
            }
        }
        mips {
            versionCode Integer.parseInt("4" + defaultConfig.versionCode)
            ndk {
                abiFilter "mips"
            }
        }
        armv7 {
            versionCode Integer.parseInt("2" + defaultConfig.versionCode)
            ndk {
                abiFilter "armeabi"
            }
        }
    }
}

但百度推送库仅提供 arm 和 mips NDK 支持库,x86 不需要任何 .so 来工作,当我们尝试使用 x86 构建应用程序时,出现错误 [INSTALL_FAILED_NO_MATCHING_ABIS]。

知道吗,我们如何忽略此处理器类型的 ndk 库?

参考百度推送库文档:"all x86 devices support arm so"什么意思?

现在您正在将更高版本的代码设置为 armeabi 版本。如果这样做,armeabi APK 甚至会分发到 x86 设备,因为 x86 设备也支持 运行ning armeabi/armeabi-v7a APK。您应该为您的 x86 APK 提供最高版本代码。

无论如何,您可以 运行 在 x86 设备上部署库,但不能混合使用。这意味着如果您无法获得所有库的 x86 版本,您应该遗憾地放弃它并仅发布 ARM 版本。

您还可以告诉您的库供应商他们应该发布其库的 x86 版本,因为不这样做会阻止您正确构建 APK 的 x86 版本。