Android Studio Flamingo中Gradle8.0.0导致Flutter插件崩溃求助
解决Gradle 8.0 + AGP 8.0下Flutter项目构建失败(插件未指定namespace)的方法
问题根源
AGP 8.0强制要求所有Android模块(包括Flutter第三方插件的Android部分)必须在模块级build.gradle中声明namespace,而旧版本的插件未适配该规则,导致构建报错。
具体解决步骤
优先升级第三方插件
打开项目的pubspec.yaml,将报错的插件(如android_alarm_manager_plus)版本更新至pub.dev上的最新稳定版,执行flutter pub get。多数主流插件已适配AGP 8.0的namespace要求,升级后即可解决问题。手动为插件添加namespace(插件无更新时)
- 找到插件的本地Android模块路径:一般在项目的
.pub-cache/hosted/pub.dev/[插件名]-[版本号]/android目录下 - 打开该目录下的模块级
build.gradle文件 - 在
android代码块中添加namespace配置,值可从插件的AndroidManifest.xml里的package属性获取,示例:android { namespace 'dev.fluttercommunity.plus.androidalarmmanager' // 保留原有其他配置 }
注意:此为临时方案,插件升级后需移除手动修改内容,避免冲突。
- 找到插件的本地Android模块路径:一般在项目的
全局自动配置(多插件报错时)
在项目根目录的android/build.gradle中添加以下代码,自动读取所有插件的AndroidManifest.xml中的package值作为namespace:subprojects { afterEvaluate { project -> if (project.hasProperty('android') && project.android instanceof com.android.build.gradle.LibraryExtension) { def androidManifest = project.file('src/main/AndroidManifest.xml') if (androidManifest.exists()) { def ns = new XmlSlurper().parse(androidManifest).@package project.android.namespace = ns } } } }检查Flutter版本兼容性
确保使用Flutter 3.10及以上版本,该版本已适配Gradle 8.0与AGP 8.0的配置要求,若版本过低,执行flutter upgrade升级。
内容的提问来源于stack exchange,提问作者K D
相关产品推荐
相关产品推荐

