Flutter真机WiFi调试报错:找不到androidx.multidex.MultiDexApplication类
核心问题定位
你的配置存在AndroidX与Support库MultiDex冲突,同时AndroidManifest.xml包含重复的application节点,这是触发类找不到报错的主要原因。
具体解决步骤
清理重复的Application配置
删除AndroidManifest.xml中多余的android.support.multidex.MultiDexApplication节点,仅保留AndroidX版本的完整application节点——因为你引入的是AndroidX的multidex依赖,两者不能混用。最终Manifest里的application节点示例:<application android:name="androidx.multidex.MultiDexApplication" android:label="你的应用名称" android:icon="@mipmap/ic_launcher"> <!-- 其他组件配置 --> </application>规范build.gradle配置
确认multiDexEnabled true配置在defaultConfig块内:android { defaultConfig { applicationId "com.your.package.name" minSdkVersion 21 // 若minSdk低于21,必须开启multidex targetSdkVersion 33 versionCode 1 versionName "1.0" multiDexEnabled true } }如果你使用自定义Application类(比如继承FlutterApplication),需要让它兼容MultiDex:
public class MyApp extends FlutterApplication { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } }同时在Manifest里将
android:name改为自定义类名:android:name=".MyApp"清理缓存并重新构建
执行命令彻底清理构建缓存,避免旧配置残留:flutter clean flutter pub get之后重新调试真机,或直接执行:
flutter run排查自定义MultiDex规则干扰
暂时注释build.gradle中的multiDexKeepFile和multiDexKeepProguard配置,先验证基础MultiDex功能是否正常。若问题解决,再逐步检查multidex-main-dex-list.txt里的类路径是否正确(格式为com/google/firebase/provider/FirebaseInitProvider.class,注意不要写错)。
内容的提问来源于stack exchange,提问作者Cihan Kalmaz

