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

秒杀,下次见。

相关推荐
ujainu4 分钟前
Flutter + OpenHarmony 垂直列表:ListView 组件在手机上的性能优化实践
flutter·智能手机·性能优化
●VON6 分钟前
在 OpenHarmony 上打造智能 TodoList:基于 Flutter 的标签分类与动态过滤实践
学习·flutter·openharmony·布局·技术
鸣弦artha10 分钟前
Flutter框架跨平台鸿蒙开发——ListView交互与手势详解
flutter·交互·harmonyos
鸣弦artha12 分钟前
Flutter框架跨平台鸿蒙开发——Drawer抽屉导航组件详解
android·flutter
[H*]17 分钟前
Flutter框架跨平台鸿蒙开发——BottomNavigationBar底部导航栏详解
flutter·华为·harmonyos
一起养小猫24 分钟前
Flutter实战:从零实现俄罗斯方块(一)数据结构与核心算法
数据结构·算法·flutter
ujainu28 分钟前
Flutter + OpenHarmony 用户输入框:TextField 与 InputDecoration 在多端表单中的交互设计
flutter·交互·组件
●VON29 分钟前
Flutter 与 OpenHarmony 应用交互优化实践:从基础列表到 HarmonyOS Design 兼容的待办事项体验
flutter·交互·harmonyos·openharmony·训练营·跨平台开发
●VON31 分钟前
无状态 Widget 下的实时排序:Flutter for OpenHarmony 中 TodoList 的排序策略与数据流控制
学习·flutter·架构·交互·openharmony·von
●VON32 分钟前
面向 OpenHarmony 的 Flutter 应用实战:TodoList 多条件过滤系统的状态管理与性能优化
学习·flutter·架构·跨平台·von