0

0

Flutter 项目中 Java 19 与 Gradle 版本不兼容的解决方案

碧海醫心

碧海醫心

发布时间:2026-03-13 14:12:22

|

106人浏览过

|

来源于php中文网

原创

Flutter 项目中 Java 19 与 Gradle 版本不兼容的解决方案

当 flutter android 构建提示“unsupported java”并指出使用了 java 19.0.2 和 gradle 7.5 时,根本原因是 gradle 7.5 官方不支持 java 19;需升级至 gradle 7.6 或更高兼容版本,并同步调整 jdk 配置。

当 flutter android 构建提示“unsupported java”并指出使用了 java 19.0.2 和 gradle 7.5 时,根本原因是 gradle 7.5 官方不支持 java 19;需升级至 gradle 7.6 或更高兼容版本,并同步调整 jdk 配置。

在 Flutter 项目中,Android 模块的构建由 Gradle 驱动,而 Gradle 对底层 JDK 版本有明确的兼容性要求。Gradle 7.5 的官方文档明确指出:其支持的最高 JDK 版本为 Java 18;若本地环境使用 Java 19.0.2(如通过 SDKMAN!、Homebrew 或手动安装),Gradle 将拒绝启动并抛出 Unsupported Java 错误——即使 gradle-wrapper.properties 中已指定 distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip,该配置本身无误,但版本组合不合法。

✅ 正确解法是升级 Gradle 至 7.6 或更高版本。Gradle 7.6 起正式支持 Java 19(详见 Gradle 7.6 Release Notes)。操作步骤如下:

  1. 修改 android/gradle/wrapper/gradle-wrapper.properties
    将 distributionUrl 更新为 Gradle 7.6.1(推荐稳定小版本):

    distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
  2. 同步更新 android/build.gradle 中的 Gradle 插件版本(关键!)
    Gradle Wrapper 版本升级后,必须匹配 Android Gradle Plugin(AGP)版本。Gradle 7.6.x 要求 AGP ≥ 7.2.0(推荐 7.4.2 或 8.0.2,取决于 Flutter SDK 兼容性):

    // android/build.gradle
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2' // ✅ 兼容 Gradle 7.6.1
    }
  3. 验证 Java 版本一致性
    确保开发环境 JAVA_HOME 指向 Java 19(如 /usr/lib/jvm/java-19-openjdk-amd64),并在终端执行:

    java -version  # 应输出 openjdk version "19.0.2"
    ./gradlew --version  # 应显示 Gradle 7.6.1,且无 Java 不兼容警告

⚠️ 注意事项:

  • ❌ 不要降级 Java(如退回 Java 17)来迁就旧 Gradle —— 这会限制新语言特性及安全更新,违背长期维护原则;
  • ❌ 避免跳过版本直接使用 Gradle 8.x(如 8.4+),因当前主流 Flutter 稳定版(≤3.19)对 AGP 8.0+ 支持仍需适配,易引发 Could not find method android() for arguments 等 DSL 错误;
  • ✅ 推荐组合(经 Flutter 3.16+ 验证):
    Java 19.0.2 + Gradle 7.6.1 + AGP 7.4.2

完成上述修改后,在项目根目录执行:

云从科技AI开放平台
云从科技AI开放平台

云从AI开放平台

下载

立即学习Java免费学习笔记(深入)”;

flutter clean && flutter pub get
cd android && ./gradlew clean && cd ..
flutter build apk

构建将正常通过。此方案既满足现代 JDK 安全与性能需求,又保持了 Flutter Android 工具链的稳定性与可维护性。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

338

2023.08.14

android是什么系统
android是什么系统

Android是一种功能强大、灵活可定制、应用丰富、多任务处理能力强、兼容性好、网络连接能力强的操作系统。本专题为大家提供android相关的文章、下载、课程内容,供大家免费下载体验。

1819

2023.08.22

android权限限制怎么解开
android权限限制怎么解开

android权限限制可以使用Root权限、第三方权限管理应用程序、ADB命令和Xposed框架解开。详细介绍:1、Root权限,通过获取Root权限,用户可以解锁所有权限,并对系统进行自定义和修改;2、第三方权限管理应用程序,用户可以轻松地控制和管理应用程序的权限;3、ADB命令,用户可以在设备上执行各种操作,包括解锁权限;4、Xposed框架,用户可以在不修改系统文件的情况下修改应用程序的行为和权限。

2137

2023.09.19

android重启应用的方法有哪些
android重启应用的方法有哪些

android重启应用有通过Intent、PendingIntent、系统服务、Runtime等方法。本专题为大家提供Android相关的文章、下载、课程内容,供大家免费下载体验。

284

2023.10.18

Android语音播放功能实现方法
Android语音播放功能实现方法

实现方法有使用MediaPlayer实现、使用SoundPool实现两种。可以根据具体的需求选择适合的方法进行实现。想了解更多语音播放的相关内容,可以阅读本专题下面的文章。

380

2024.03.01

flutter框架优缺点
flutter框架优缺点

Flutter框架的作用是帮助开发者快速高效地开发出高性能、高保真、跨平台的移动应用。想了解更多flutter的相关内容,可以阅读本专题下面的文章。

440

2023.12.22

flutter和uniapp区别
flutter和uniapp区别

flutter和uniapp的区别:1、开发语言不同;2、性能表现不同;3、组件库不同;4、跨平台支持不同;5、生态圈不同;6、开发环境搭建;7、开发难度;8、社区支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

293

2023.12.22

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

411

2026.02.13

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

1

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 4.3万人学习

C# 教程
C# 教程

共94课时 | 11.2万人学习

Java 教程
Java 教程

共578课时 | 81万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号