Flutter 3.22 MultiDex 报错

问题

在我升级到 Flutter 3.22 后,编译时出现了如下的报错:

1
2
3
4
5
6
7
8
9
10
11
/home/lolli/proj/flutter_server_box/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java:13: error: cannot find symbol
import androidx.multidex.MultiDex;
^
symbol: class MultiDex
location: package androidx.multidex
/home/lolli/proj/flutter_server_box/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java:23: error: cannot find symbol
MultiDex.install(this);
^
symbol: variable MultiDex
location: class FlutterMultiDexApplication
2 errors

解决

正确的解决方案是删除 FlutterMultiDexApplication.java 文件。

不推荐的做法

android/app/build.gradle 文件中添加如下配置:

1
2
3
4
5
6
7
8
9
android {
defaultConfig {
multiDexEnabled true
}
}

dependencies {
implementation "androidx.multidex:multidex:2.0.1"
}

原因

原文