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

标签 android android-ndk snappydb

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

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

仅供引用,我的应用支持的最小 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")
    }

关于android - 只为 android apk 保留 armeabi-v7a 是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31399521/

相关文章:

Android SDK 需要 android developer toolkit 17.0.0 或以上版本

java - 在 Android 代码中搜索电话号码

java - 将 JDBC 与在线 MySQL DB 一起用于 Android 应用程序

android - CalendarView 无法将日期设置为当天?

android - Android OpenSSL 构建配置 armv7 是否对所有 arm 设备安全?

Android NDK - 使两个 native 共享库相互调用

Android Studio C++ NDK 库示例

Android SnappyDB 危险权限