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

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(插件无更新时)

    1. 找到插件的本地Android模块路径:一般在项目的.pub-cache/hosted/pub.dev/[插件名]-[版本号]/android目录下
    2. 打开该目录下的模块级build.gradle文件
    3. 在android代码块中添加namespace配置,值可从插件的AndroidManifest.xml里的package属性获取,示例:
      android {
          namespace 'dev.fluttercommunity.plus.androidalarmmanager'
          // 保留原有其他配置
      }
      

    注意:此为临时方案,插件升级后需移除手动修改内容,避免冲突。

  • 全局自动配置(多插件报错时)
    在项目根目录的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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:55:27