秒杀 Flutter 打包 Android APK 包体积突增 ≈2 倍的问题

AGP:Android Gradle Plugin,com.android.tools.build:gradle

省流

android/app/build.gradle 增加对应内容:

对于 AGP 8 以上,增加 packaging

groovy 复制代码
android {
    packaging {
        dex {
            useLegacyPackaging true
        }
        jniLibs {
            useLegacyPackaging true
        }
    }
}

其他版本增加 packagingOptions

groovy 复制代码
android {
    packagingOptions {
        dex {
            useLegacyPackaging true
        }
        jniLibs {
            useLegacyPackaging true
        }
    }
}

原因

目测是为了推进 AppBundle 的使用,所以

自 Android API 23+ 开始,jniLibs 默认不开启压缩: developer.android.com/reference/t...

自 Android API 28+ 开始,dex 默认不开启压缩: developer.android.com/reference/t...

而就算在你没有更改 min/compile/target 的情况下,升级到 8.1 以上的 AGP 时也会默认关闭这些选项。 当你去搜索答案的时候,大部分都是告诉你过期的,调整后没有变化。

秒杀,下次见。

相关推荐
行者9614 分钟前
用Flutter打造适配OpenHarmony的打卡组件:实践与优化
flutter·harmonyos·鸿蒙
cn_mengbei18 分钟前
Flutter for OpenHarmony 实战:DropdownButton 下拉选择按钮详解
flutter
longxibo19 分钟前
mysql数据快速导入doris
android·大数据·python·mysql
cn_mengbei21 分钟前
Flutter for OpenHarmony 实战:Checkbox 复选框详解
flutter
十六年开源服务商27 分钟前
WordPress网站模板设计完整指南
android
小雨下雨的雨34 分钟前
Flutter跨平台开发实战: 鸿蒙与循环交互艺术:虚拟列表与百万级数据性能巅峰
flutter·华为·交互·harmonyos·鸿蒙系统
不爱吃糖的程序媛44 分钟前
Flutter-OH三方库适配:从实践到社区共建的样板间打造
flutter
summerkissyou198744 分钟前
Android13-Bluetooth-代码目录介绍
android·蓝牙
kirk_wang1 小时前
Flutter艺术探索-Flutter图片加载与缓存优化
flutter·移动开发·flutter教程·移动开发教程
曾帅1681 小时前
uniapp安卓启动图
android·opencv·uni-app