Безопасно ли хранить только armeabi-v7a для Android APK
У меня есть Android APK, которые используют нативную библиотеку (snappydb
). Нативные библиотеки занимают много места, поэтому я хочу оставить только snappydb
для архитектур armeabi-v7a?
Я знаю, что это не на 100% безопасно удалить snappydb
для других архитектур, поэтому мой вопрос: насколько это небезопасно? (сколько устройств / пользователей я потеряю?)
Для справки: минимальная версия SDK, которую поддерживает мое приложение, - 16 (JELLY_BEAN).
2 ответа
Вы, вероятно, не слишком выиграете от оптимизации arm-v7a, и в настоящее время нет веских причин для включения 64-битной сборки. Но владельцы MIPS и X86 будут вам благодарны, если вы будете держать их устройства закрытыми.
Я предлагаю использовать productFlavors от Gradle для создания разных APK для ABI, так как некоторые 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")
}