只保留armeabi-v7a作为android apk安全吗?



我有一个android APK,使用一个本地库(snappydb)。本机库占用大量空间,所以我想只保留snappydb用于armeabi-v7a体系结构?

我知道它不是100%安全的删除snappydb为其他架构,所以我的问题是:它有多不安全?(我将失去多少设备/用户?)

作为参考,我的应用程序支持的最小sdk版本是16 (JELLY_BEAN)。

我建议使用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")
    }

您可能不会从arm-v7a优化中获得太多好处,并且目前没有令人信服的理由包含64位构建。但是MIPS和X86用户会感谢你,如果你为他们的设备提供覆盖。

最新更新