修改Android Studio使用的Java版本及解决Flutter Gradle与Java版本兼容报错求助
修改Android Studio使用的Java版本及解决Flutter Gradle与Java版本兼容报错求助
嗨,我最近在运行Flutter项目时碰到了版本兼容的问题,折腾了好一阵没搞定,想请教下大家怎么解决,同时也想调整Android Studio默认使用的Java版本,具体情况如下:
问题现象
启动Flutter应用时,控制台抛出了以下报错:
Flutter Fix [!] Your project's Gradle version is incompatible with the Java version that Flutter is using for Gradle.
我的环境信息
系统安装的Java版本:
运行java -version得到的输出:Java(TM) SE Runtime Environment (build 20.0.2+9-78) Java HotSpot(TM) 64-Bit Server VM (build 20.0.2+9-78, mixed mode, sharing)Android Studio版本与内置Java:
我用的是Android Studio Giraffe 2022.3.1(2023年9月的最新版),但通过flutter doctor -v发现,AS默认使用的是自带的Java 17:[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1) • Android SDK at /Users/baimamboukar/Library/Android/sdk • Platform android-33, build-tools 33.0.1 • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231) • All Android licenses accepted. [✓] Android Studio (version 2022.3) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)完整的Flutter环境信息:
以下是flutter doctor -v的全部输出:[✓] Flutter (Channel stable, 3.13.4, on macOS 12.6.3 21G419 darwin-x64, locale en-CM) • Flutter version 3.13.4 on channel stable at /Users/baimamboukar/development/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 367f9ea16b (7 days ago), 2023-09-12 23:27:53 -0500 • Engine revision 9064459a8b • Dart version 3.1.2 • DevTools version 2.25.0 [!] Xcode - develop for iOS and macOS (Xcode 13.2.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 13C100 ✗ Flutter requires Xcode 14 or higher. Download the latest version or update via the Mac App Store. • CocoaPods version 1.11.3 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] VS Code (version 1.82.2) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.72.0 [✓] Connected device (3 available) • JKM LX2 (mobile) • 192.168.43.1:5555 • android-arm64 • Android 9 (API 28) • macOS (desktop) • macos • darwin-x64 • macOS 12.6.3 21G419 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 116.0.5845.187 [✓] Network resources • All expected network resources are available.
我的疑问
- 我查了Gradle官方文档,Gradle 7.5是支持Java 20的,为什么还会抛出版本不兼容的报错?
- 怎么修改Android Studio的默认Java版本,让它使用我系统里安装的Java 20?
- 有没有办法让Flutter指定使用我本地的Java 20来运行Gradle构建?
备注:内容来源于stack exchange,提问作者Baimam Boukar Jean Jacques
相关产品推荐
相关产品推荐

