我有一个使用本机库(snappydb
)的Android APK。
本机库需要很多空间,所以我想只为armeabi-v7a架构保留snappydb
?
我知道为其他架构移除snappydb
并非100%安全,所以我的问题是:它有多安全? (我将失去多少设备/用户?)
仅供参考,我的应用支持的最小sdk版本是16(JELLY_BEAN)。
答案 0 :(得分:2)
我建议使用Gradle的 productFlavors 为每个ABI生成不同的APK,因为某些ABI可能包含一些汇编代码优化(SSE4,SSE5,Arm Neon等)
android {
...
flavorDimensions "abi", "version"
productFlavors {
freeapp {
flavorDimension "version"
...
}
x86 {
flavorDimension "abi"
...
}
}
}
或者,如果您正在使用实验性Gradle插件
'com.android.tools.build:gradle-experimental:0.1.0'
android.productFlavors {
create ("arm7") {
ndk.abiFilters += "armeabi-v7a"
}
create ("arm8") {
ndk.abiFilters += "arm64-v8a"
}
create ("x86-32") {
ndk.abiFilters += "x86"
}
// for detailed abiFilter descriptions, refer to "Supported ABIs" @
// https://developer.android.com/ndk/guides/abis.html#sa
// build one including all productFlavors
create("fat")
}
答案 1 :(得分:0)
你可能不会从arm-v7a优化中获得太多收益,而且目前没有令人信服的理由包含64位版本。但是如果你保护他们的设备,MIPS和X86所有者会感谢你。