Flutter Android构建报错:找不到defaultConfig()方法
解决Flutter构建Android模拟器时
cannot find defaultConfig() for arguments错误 问题核心原因
你遇到的错误是因为**defaultConfig配置放错了文件位置**。根目录的android/build.gradle是项目级配置文件,不存在defaultConfig()方法,这个配置属于应用模块(android/app/build.gradle)的Android构建闭包。
修复步骤
移除根目录build.gradle中的defaultConfig块
打开android/build.gradle,删除末尾的这段代码:defaultConfig { minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger() targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger() versionCode flutterVersionCode.toInteger() versionName flutterVersionName }在app模块的build.gradle中配置defaultConfig
打开android/app/build.gradle,找到android闭包,修改其中的defaultConfig部分,替换为引用local.properties的配置:android { // 保留原有compileSdkVersion、ndkVersion等配置 compileSdkVersion localProperties.getProperty('flutter.compileSdkVersion').toInteger() defaultConfig { applicationId "com.your.package.name" // 替换为你的应用实际包名 minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger() targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger() versionCode flutterVersionCode.toInteger() versionName flutterVersionName } // 保留原有buildTypes、compileOptions等配置 }重新同步并构建项目
执行终端命令清理并重新构建:flutter clean && flutter run或者在Android Studio中点击"Sync Project with Gradle Files"按钮完成同步后再运行项目。
补充说明
如果你的android/app/build.gradle中原本就存在defaultConfig块,只需将其中的minSdkVersion、targetSdkVersion等参数替换为读取local.properties的代码即可,无需重复添加整个块。
内容的提问来源于stack exchange,提问作者Luke Smith
相关产品推荐
相关产品推荐

