秒杀 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 时也会默认关闭这些选项。 当你去搜索答案的时候,大部分都是告诉你过期的,调整后没有变化。

秒杀,下次见。

相关推荐
wd 677 分钟前
sql注入拿shell
android·数据库·sql
爱做梦Di猪1 小时前
mysql安装与使用
android·mysql·adb
try again!2 小时前
个性化音乐推荐系统
android·数据库·sqlite
一人前行2 小时前
Flutter_学习记录_connectivity_plus 检测网络
flutter
开开心心就好2 小时前
便捷开启 PDF 功能之旅,绿色软件随心用
android·java·windows·智能手机·eclipse·pdf·软件工程
tangweiguo030519873 小时前
Kotlin高效实现 Android ViewPager2 顶部导航:动态配置与性能优化指南
android·kotlin
fantasy_44 小时前
Appium高级操作--ActionChains类、Toast元素识别、Hybrid App操作、手机系统API的操作
android·python·appium·自动化
二流小码农4 小时前
鸿蒙开发:自定义一个Toast
android·ios·harmonyos
雾里看山4 小时前
【MySQL】用户管理和权限
android·mysql·adb
_祝你今天愉快5 小时前
Android源码学习之Overlay
android·源码