Flutter如何彻底排除x86_64架构支持

在Flutter项目中,我想彻底排除x86_64架构的支持以减小APK体积。已经在build.gradle中设置了ndk.abiFilters仅保留armeabi-v7a和arm64-v8a,但生成的APK仍然包含x86_64的so文件。请问如何完全移除x86_64架构的依赖?是否需要修改其他配置或处理第三方插件的兼容性问题?

2 回复

android/app/build.gradle中配置ndk,仅保留所需架构:

android {
    defaultConfig {
        ndk {
            abiFilters 'arm64-v8a', 'armeabi-v7a'
        }
    }
}

删除x86_64后重新构建即可。

更多关于Flutter如何彻底排除x86_64架构支持的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 项目中彻底排除 x86_64 架构支持,可以通过以下步骤实现:

1. Android 端配置

android/app/build.gradle 文件中,添加 ndk 配置,排除不需要的架构:

android {
    defaultConfig {
        ndk {
            abiFilters 'arm64-v8a', 'armeabi-v7a' // 仅保留 ARM 架构
        }
    }
}

2. iOS 端配置

在 Xcode 中修改项目设置:

  1. 打开 ios/Runner.xcworkspace
  2. Build Settings 中搜索 EXCLUDED_ARCHS
  3. DebugRelease 添加 x86_64(针对模拟器):
    EXCLUDED_ARCHS[sdk=iphonesimulator*] = x86_64
    

3. Flutter 构建命令

构建时指定目标平台架构(例如仅保留 ARM64):

flutter build apk --target-platform android-arm,android-arm64

4. 检查依赖库

确保第三方插件未强制包含 x86_64。若有问题,可在 android/app/build.gradle 中强制排除:

packagingOptions {
    exclude 'lib/x86_64/**'
}

注意事项:

  • 排除 x86_64 后应用将无法在 x86 模拟器或设备上运行。
  • 提交到 Google Play 时,APK 会按 ABI 自动分发,无需额外处理。

完成以上配置后,重新构建应用即可彻底移除 x86_64 支持。

回到顶部