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

秒杀,下次见。

相关推荐
weixin_443478514 分钟前
flutter组件学习之Stack 组件详解
学习·flutter
程序员Ctrl喵5 分钟前
分层架构的协同艺术——解构 Flutter 的心脏
flutter·架构
Hello.Reader19 分钟前
Flutter IM 桌面端消息发送、ACK 回执、SQLite 本地缓存与断线重连设计
flutter·缓存·sqlite
Hello.Reader25 分钟前
Flutter IM 桌面端项目架构、聊天窗口布局与 WebSocket 长连接设计
websocket·flutter·架构
前端不太难27 分钟前
Flutter Web / Desktop 为什么“能跑但不好用”?
前端·flutter·状态模式
Kapaseker30 分钟前
解析 Compose 的核心概念 remember
android·kotlin
前端不太难36 分钟前
Flutter 国际化和主题系统如何避免后期大改?
flutter·状态模式
小雨凉如水37 分钟前
flutter 基础组件学习
学习·flutter
Swift社区1 小时前
Flutter 适合长期大型项目 - 真实边界在哪里
flutter
嘉琪0011 小时前
Flutter 实战经验(场景 + 落地)——0309
flutter