Безопасно ли хранить только 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")
    }
Другие вопросы по тегам