0%

android多架构打包

安卓打包时包含多个 ABI(CPU 架构) 的确会显著增大 APK 或 AAB 包体积。常见 ABI 有:

ABI 说明
armeabi-v7a 主流 32 位 ARM 设备(绝大多数 Android 手机)
arm64-v8a 主流 64 位 ARM 设备(目前主流)
x86 模拟器用(或极少量 Intel 手机)
x86_64 64 位模拟器(或极少量 Intel 平板)

✅ 原因:每个 ABI 会编译一份 .so 文件(Native 库),多架构直接打包 → 体积翻倍甚至更多。

只打主流架构(推荐 armeabi-v7a 和 arm64-v8a)
✅ 修改 build.gradle(模块级):
gradle
android {

defaultConfig {
    ...
    ndk {
        abiFilters 'armeabi-v7a', 'arm64-v8a'  // ← 只保留主流架构
    }
}

}

手动拆包(生成多个 APK)
gradle
android {

splits {
    abi {
        enable true
        reset()
        include 'armeabi-v7a', 'arm64-v8a'
        universalApk false // 是否生成包含所有 ABI 的 APK(默认 false)
    }
}

}
然后执行:

./gradlew assembleRelease
输出路径:app/build/outputs/apk/,每个架构生成一个独立 APK。

发布目标 推荐 ABI 设置
面向国内市场 armeabi-v7a, arm64-v8a
面向全球(含模拟器测试) 加上 x86, x86_64,但只用于测试或调试包
仅供线上发布(小体积) arm64-v8a(极致精简)
上传 Google Play 使用 .aab,让 Play 控制分发