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

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

省流

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

对于 AGP 8 以上,添加 packaging

android {
    packaging {
        dex {
            useLegacyPackaging true
        }
        jniLibs {
            useLegacyPackaging true
        }
    }
}

其他版别添加 packagingOptions

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 时也会默许封闭这些选项。 当你去搜索答案的时分,大部分都是告知你过期的,调整后没有改变。

秒杀,下次见。