我对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支持库,x86不需要任何.so来工作,当我们尝试用x86构建应用程序时,会出现错误INSTALL_FAILED_NO_MATCHING_ABIS。
知道吗,对于这种处理器类型,我们怎么能忽略ndk库呢?
参考百度推送库文档:“所有x86设备都支持arm,所以”这是什么意思?
发布于 2015-08-11 09:51:12
现在,您正在将更高版本的代码设置为armeabi构建。如果这样做的话,即使在x86设备上也会分发armeabi APK,因为x86设备也支持运行armeabi/armeabi-v7a APK。您应该给您的x86 APK提供最高版本的代码。
无论如何,您可以在x86设备上运行arm库,但不能混合它们。这意味着,如果您无法获得所有库的x86版本,那么不幸的是,您应该放弃它,只发布ARM版本。
您还可以告诉您的库供应商,他们应该发布库的x86版本,因为不这样做会阻止您正确构建APK的x86版本。
https://stackoverflow.com/questions/31475410
复制相似问题