📅  最后修改于: 2023-12-03 15:00:47.914000             🧑  作者: Mango
在 Android 平台上,单个 Dex 文件有 64K 方法限制,如果应用中方法超过限制将导致构建失败。具体错误信息如下:
com.android.dex.DexIndexOverflowException: Cannot merge new index [xxxxxx] into a non-jumbo instruction!
这时需要开启 MultiDex 来允许应用中包含多个 dex 文件。
在 build.gradle
文件中添加如下依赖:
android {
defaultConfig {
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
在 Flutter 应用的入口文件(如 lib/main.dart
)中添加如下代码,来初始化 MultiDex:
import android.content.Context
import androidx.multidex.MultiDex
class App : FlutterApplication() {
override fun attachBaseContext(base: Context) {
super.attachBaseContext(base)
MultiDex.install(this)
}
}
build.gradle
使用了 minifyEnabled true
,则需要向 proguard-rules.pro
文件中添加 Multidex 的规则,否则可能导致 DexIndexOverflowException 错误。可参考如下规则:-keep class android.support.multidex.** {
*;
}