You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Flutter报错:Execution failed for task ':app:compileDebugKotlin'?

解决Flutter在Android模拟器运行时的MainActivity编译错误

问题根源

从错误日志可明确核心问题:

  1. FlutterActivity导入冲突:代码重复导入不同版本的FlutterActivity,导致命名歧义
  2. 重复的MainActivity文件:项目中存在两个路径的MainActivity.kt(simple_exercise_timer和simpleexercisetimer目录下),MacOS文件系统默认不区分大小写,但编译时会识别为独立目录,引发编译混乱

解决方案

1. 删除重复的MainActivity文件

进入android/app/src/main/kotlin/com/arhanbusam/目录,保留与项目包名(pubspec.yaml中name字段)一致的文件夹,删除另一个大小写不一致的目录。

2. 修正MainActivity.kt代码

打开保留的MainActivity.kt,执行以下修改:

  • 删除冲突导入语句,仅保留新版Flutter的导入:
    import io.flutter.embedding.android.FlutterActivity
    
  • 修正类继承与方法实现,使用新版FlutterActivity标准结构:
    class MainActivity : FlutterActivity() {
        // 无需自定义引擎配置时,仅保留上述继承即可
        // 如需配置插件,重写以下方法:
        override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
            super.configureFlutterEngine(flutterEngine)
            // 在此添加自定义插件注册逻辑
        }
    }
    
    若无需自定义配置,可简化为:
    import io.flutter.embedding.android.FlutterActivity
    
    class MainActivity : FlutterActivity()
    

3. 重新执行编译流程

依次执行命令:

flutter clean
flutter pub get
flutter run

注意事项

MacOS文件系统默认不区分文件名大小写,创建目录或文件时需严格匹配项目包名的大小写,避免出现本地看似正常但编译时识别为重复资源的问题。

内容的提问来源于stack exchange,提问作者Arhan Reddy Busam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:46:20