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

秒杀,下次见。

相关推荐
火柴就是我12 分钟前
android 以maven的方式 引入本地的aar
android
过-眼-云-烟28 分钟前
新版Android Studio能打包但无法run ‘app‘,编译通过后手机中没有安装,顶部一直转圈
android·ide·android studio
hedalei1 小时前
android14 硬键盘ESC改BACK按键返回无效问题
android·android14·esc·back按键
hcgeng1 小时前
android 如何判定底部导航栏显示时 不是键盘显示
android·底部导航·导航高度
和煦的春风2 小时前
性能案例分析 | Waiting for GPU completion
android·linux
用户2018792831672 小时前
ConcurrentHashMap:用 “社区超市” 故事讲透并发的设计哲学
android
ALLIN2 小时前
Flutter 三种方式实现页面切换后保持原页面状态
flutter
Dabei2 小时前
Flutter 国际化
flutter
4Forsee2 小时前
【Android】View 交互的事件处理机制
android·交互
龙腾-虎跃2 小时前
Android Sip电话(PJSP)
android