Flutter应用无法在华为Mate 20 Lite实体设备运行,提示Activity类不存在
问题解决步骤
核心错误为日志末尾的Error type 3 Error: Activity class {com.example.big_randomizer/com.example.big_randomizer.MainActivity} does not exist.,可按以下顺序排查修复:
- 卸载设备残留旧包:
优先执行命令adb -s HYF0218821022991 uninstall com.example.big_randomizer,也可以直接在华为Mate 20 Lite设备上找到对应应用手动卸载,旧版本应用的残留配置经常会导致新安装包启动时找不到对应Activity。 - 修正AndroidManifest.xml配置错误:
从日志解析的Manifest结构可以看到,io.flutter.embedding.android.NormalTheme对应的meta-data配置重复声明了两次,找到项目路径下android/app/src/main/AndroidManifest.xml文件,删除重复的那一行meta-data配置,保证所有meta-data的android:name属性唯一。
同时确认MainActivity的路径和Manifest声明一致:检查android/app/src/main/kotlin/(或java目录)下的MainActivity实际存放路径,是否和Manifest中android:name声明的com.example.big_randomizer.MainActivity完全匹配,若你之前修改过包名、移动过Activity文件位置,需要同步更新Manifest中的对应配置。 - 清理缓存重新构建:
依次执行以下命令清理项目缓存并重新拉取依赖:
执行完成后重新运行flutter clean flutter pub getflutter run尝试启动应用即可。 - 检查包名一致性:
打开android/app/build.gradle文件,确认defaultConfig下的applicationId取值和Manifest中的包名、MainActivity的包名完全一致,无拼写错误或前后不匹配的问题。
内容的提问来源于stack exchange,提问作者bayrixx
相关产品推荐
相关产品推荐

