Flutter应用启动崩溃:MainActivity类NotFoundException求助
核心崩溃原因:日志明确显示java.lang.ClassNotFoundException: Didn't find class "com.example.uow.MainActivity",Android系统无法定位到MainActivity类,以下是针对性解决步骤:
检查MainActivity文件完整性与正确性
确认android/app/src/main/kotlin/com/example/uow/MainActivity.kt(若用Java则是java/com/example/uow/MainActivity.java)文件存在,且代码符合Flutter嵌入版本2的要求:package com.example.uow import io.flutter.embedding.android.FlutterActivity class MainActivity : FlutterActivity() { }若文件缺失,直接创建上述文件,保证包名与Manifest中的
package="com.example.uow"一致。彻底清理并重建项目
执行以下命令清除缓存与旧构建产物,重新构建:flutter clean flutter pub get flutter runWindows环境若需清理安卓端Gradle缓存,可手动删除
android/.gradle和android/build目录后再执行上述命令。验证Gradle依赖与配置
- 确认
app/build.gradle中multiDexEnabled true已开启(你的配置已满足) - 检查Firebase依赖版本兼容性:
firebase-bom:31.1.0与google-services:4.3.13需匹配,若版本不兼容可同步调整至官方推荐的对应版本 - 保证
compileSdkVersion、targetSdkVersion与Flutter SDK版本兼容(你的33版本符合要求)
- 确认
核对Manifest配置
确认Manifest中activity标签的android:name=".MainActivity"对应路径正确,且meta-data标签flutterEmbedding值为2(你的配置无误),该值对应Flutter嵌入版本2,要求MainActivity继承FlutterActivity。清除设备端应用数据
在测试设备上卸载应用,清除残留缓存后,重新安装运行应用。
内容的提问来源于stack exchange,提问作者Qazi Muaaz

