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

Flutter运行应用出现ns映射警告及Kotlin找不到JDK工具构建失败问题

Flutter运行报错解决方案

错误详情:
多条警告信息:
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
构建失败异常:任务:app:compileDebugKotlin执行失败,错误提示为:Kotlin could not find the required JDK tools in the Java installation 'C:\Program Files\Java\jre1.8.0_261' used by Gradle. Make sure Gradle is running on a JDK, not JRE.
最终报错:Exception: Gradle task assembleDebug failed with exit code 1

错误原因分析
  • 命名空间映射警告:Android Gradle插件版本低于本地Android SDK Build Tools版本,新的Build Tools使用了新版命名空间,旧版插件无法识别自动做了新旧映射,该警告不会直接导致构建失败。
  • 核心构建失败原因:Gradle当前使用JRE运行,Kotlin编译依赖JDK中的工具组件,JRE不包含对应组件导致编译任务执行失败。
修复步骤

1. 修复JDK配置(优先解决,直接影响构建成败)

  • 先确认本地安装了JDK 8或JDK 11(Flutter官方推荐适配版本,避免使用17及以上高版本减少兼容性问题),安装路径不要包含中文、特殊字符或空格。
  • 配置系统环境变量:
    • 新增JAVA_HOME系统变量,值为JDK安装根目录,示例:C:\Program Files\Java\jdk1.8.0_261(注意选择JDK目录而非JRE目录)
    • 编辑Path系统变量,新增%JAVA_HOME%\bin、%JAVA_HOME%\jre\bin两条记录,同时删除原有的指向JRE的Path记录避免优先级冲突
  • 验证配置:打开新的cmd窗口,分别执行java -version、javac -version,两条命令返回的版本号一致即配置生效。
  • 若使用Android Studio开发,可直接在IDE内指定Gradle运行JDK:打开File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle,在Gradle JDK下拉选项中选择已安装的JDK,或直接选择Android Studio内置的JDK(内置版本已包含编译需要的所有组件,可直接使用)。

2. 修复命名空间警告(可选,不影响构建,仅消除提示)

两种方案二选一即可:

  • 方案一:升级Android Gradle插件版本
    打开项目android/build.gradle文件,修改dependencies代码块中的插件版本,示例:
    原来的配置:
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
    }
    
    升级到匹配版本:
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.0'
    }
    
    同时需要同步修改android/gradle/wrapper/gradle-wrapper.properties中的gradle分发版本,插件4.2.0对应gradle版本为6.7.1,修改示例:
    distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
    
  • 方案二:降级Android SDK Build Tools版本
    打开Android Studio的SDK Manager,切换到SDK Tools标签页,勾选「Show Package Details」,卸载31及以上版本的Android SDK Build Tools,安装30.0.3版本即可。

3. 重新运行项目

配置完成后,在项目根目录执行flutter clean清理缓存,再执行flutter run重新构建运行即可。

内容的提问来源于stack exchange,提问作者shahamh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:45:03