Kha*_*dov 171 macos android-studio flutter
我已经安装了 Android Studio Canary2020.3.1.22并尝试Flutter在Apple Silicon(ARM) Mac. 不幸的是,当我尝试运行default颤振计数器应用程序时,它给了我这个错误。
这是我收到的错误:
Could not open settings generic class cache for settings file '/Users/khamidjonkhamidov/StudioProjects/dummy/android/settings.gradle' (/Users/khamidjonkhamidov/.gradle/caches/6.7/scripts/f0emg6u6oecmxqzgk5g9nn4ui).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61
Run Code Online (Sandbox Code Playgroud)
Gradle version: 6.7但我尝试了 7+ JDK 版本17
我将衷心感谢您的帮助)
neb*_*raa 160
根据官方等级文档:尚不支持Java 17及更高版本。
您可以在此处检查兼容性。
所以我是Java11从Azul安装的。
ps不要忘记更改Android studio中的jdk版本,该版本仅在Android项目上可用,以打开它
File-> open -> select the android folder inside your flutter project -> open in a new window
然后就可以更改jdk版本了
Preferences -> Build -> Build Tools -> Gradle -> Gradle JDK
Fai*_*Dae 38
当我更新我的 android studio 时遇到这个错误
\n解决方案:
\n你需要升级你distributionUrl的 根据java version
\xe2\x80\x8c下面是Java version支持的Gradle version
\n
Aru*_*P M 32
当我将 build.gradle 升级到 Java 17 时遇到了同样的错误。修复方法就像我们想象的一样简单:
Gradle starts supporting Java17 only from 7.3 release
Run Code Online (Sandbox Code Playgroud)
以下是 Java 与 Gradle 兼容性的完整参考: https://docs.gradle.org/current/userguide/compatibility.html
在 gradle-wrapper.properties 中将我的 gradle 升级到 7.3。
https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
Run Code Online (Sandbox Code Playgroud)
你们中的一些人现在可能会像我一样遇到Gradle 依赖项缓存损坏错误。因此最好删除 gradle-wrapper.jar 并使用以下命令重新安装:
./gradlew wrapper
Run Code Online (Sandbox Code Playgroud)
从这里一切都会完美地进行。
如果您仍然面临 Gradle 损坏问题,请检查您是否使用最新版本的 IDE,尤其是 Intellij。
elp*_*elp 25
首先,您可以执行以下命令:/usr/libexec/java_home -V,检索所有已安装的jdsk:
[~]$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
17.0 (x86_64) "Oracle Corporation" - "OpenJDK 17.0" /Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-17.0/Contents/Home
14.0.1 (x86_64) "Oracle Corporation" - "OpenJDK 14.0.1" /Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-14.0.1/Contents/Home
11.0.12.1 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Users/ciccio/Library/Java/JavaVirtualMachines/corretto-11.0.12/Contents/Home
10.0.2 (x86_64) "Oracle Corporation" - "Java SE 10.0.2" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
1.8.0_302 (x86_64) "Amazon" - "Amazon Corretto 8" /Users/ciccio/Library/Java/JavaVirtualMachines/corretto-1.8.0_302/Contents/Home
Run Code Online (Sandbox Code Playgroud)
现在,假设您要删除版本17:
[~]$ java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment Homebrew (build 17+0)
OpenJDK 64-Bit Server VM Homebrew (build 17+0, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)
进入要删除的版本的路径(在本例中为“ /Users/ciccio/Library/Java/JavaVirtualMachines/openjdk-17.0/Contents/Home ”),然后删除整个文件夹:“ /Users/ciccio/Library/ Java/JavaVirtualMachines/openjdk-17.0 “。
删除后,返回终端并使用:
[~]$ /usr/libexec/java_home -v 14.0.1 --exec javac -version
javac 14.0.1
Run Code Online (Sandbox Code Playgroud)
强制使用新版本 (14.0.1)。
接下来检查是否正确:
[~]$ java -version
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7)
OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
[~]$
Run Code Online (Sandbox Code Playgroud)
您的 Gradle 现在已恢复工作。
Elm*_*mar 24
2023 年 1 月,Mac Mini M1 上新创建的 Flutter 应用程序发生了这种情况。如果您有其他正在运行的 Flutter 应用程序,请不要降级或更新 Java 版本,因为这会导致所有其他正在运行的应用程序出现问题。在文件夹内(直接在 Android 文件夹内)找到 gradle-wrapper.properities 文件gradle/wrapper并检查 gradle 版本。您只需要使用较新版本的 gradle 即可。我替换了这个并使用flutter run终端命令,它起作用了:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
Run Code Online (Sandbox Code Playgroud)
有了这个:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip
Run Code Online (Sandbox Code Playgroud)
无需做任何其他事情。版本号可能会有所不同,具体取决于您尝试此操作的时间以及您拥有的 Java 版本。
注意:同样的修复对于另一个错误消息也有效,并指出版本 63:
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 63
Run Code Online (Sandbox Code Playgroud)
小智 20
无需降级Java版本。只需升级 Gradle
your_project_name/android/gradle/wrapper/gradle-wrapper.propertiesdistributionUrl根据您的 Java 版本更改Gradle 版本。您可以在此处查看列表:gradle listM. *_*ula 10
就我而言,我有这套
\n在终端上输入flutter --version:
Flutter 3.7.5 \xe2\x80\xa2 channel stable \xe2\x80\xa2 https://github.com/flutter/flutter.git\nFramework \xe2\x80\xa2 revision c07f788888 (10 weeks ago) \xe2\x80\xa2 2023-02-22 17:52:33 -0600\nEngine \xe2\x80\xa2 revision 0f359063c4\nTools \xe2\x80\xa2 Dart 2.19.2 \xe2\x80\xa2 DevTools 2.20.1\nRun Code Online (Sandbox Code Playgroud)\n在终端上输入javac -version以获取 java 版本:
javac 19.0.2\nRun Code Online (Sandbox Code Playgroud)\n因此,通过这个等级兼容性矩阵,我必须将我的project/android/gradle/wrapper/gradle-wrapper.properties distributionUrl更新为:
distributionUrl=https\\://services.gradle.org/distributions/gradle-7.6-all.zip\nRun Code Online (Sandbox Code Playgroud)\n
我找到了一种方法来修复此错误,而不会干扰本地安装的 Java 版本或 Gradle。这是我所做的:
\n在运行 macOS Monterey 12.2.1 的 MacBook Air M1 上进行了测试。
\n检查当前活动的 java 版本:-
javac-版本
如果大于 11,请将其降级为 11 或 8。检查您安装的可用 java jdk 版本:-
/usr/libexec/java_home -V
如果未安装 java 11 或 8,请首先使用此链接安装其中一个:-下载 jdk 8
然后更改.bash_profile中的默认java版本
编辑.bash_profile
须藤纳米 ~/.bash_profile
添加 1.8 或 11 作为默认值。(将以下行添加到 bash_profile 文件)
导出 JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
或者
导出 JAVA_HOME=$(/usr/libexec/java_home -v 11)
现在按 CTRL+X 退出 bash。按“Y”保存更改。并重新加载 bash_profile
源~/.bash_profile
| 归档时间: |
|
| 查看次数: |
318645 次 |
| 最近记录: |