是否安全只保留armeabi-v7a for android apk

时间:2015-07-14 06:44:12

标签: android android-ndk snappydb

我有一个使用本机库(snappydb)的Android APK。 本机库需要很多空间,所以我想只为armeabi-v7a架构保留snappydb

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

仅供参考,我的应用支持的最小sdk版本是16(JELLY_BEAN)。

2 个答案:

答案 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所有者会感谢你。