7

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

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

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

4

2 回答 2

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")
    }
于 2015-07-14T13:45:28.320 回答
0

您可能不会从 arm-v7a 优化中获得太多好处,而且目前没有令人信服的理由来包含 64 位构建。但是,如果您保护他们的设备,MIPS 和 X86 所有者会感谢您。

于 2015-07-14T19:52:50.703 回答