最近在Mac Mini M4上通過Android Studio導入Flutter項目并運行,結果一直跑不起來,錯誤日志如下:
執行命令查看版本信息:
flutter doctor --verbose
通過輸出信息Java version OpenJDK Runtime Environment (build 21.0.4±12422083-b607.1)可以知道是JDK版本不兼容問題,Flutter構建的時候默認使用了Android Studio內置的OpenJDK,最后總結了兩種解決方案。
方案一:gradle.properties中配置org.gradle.java.home
通過直接修改android目錄下gradle.properties指定JDK路徑
org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
方案二:修改gradle版本
因為Flutter工程在Settings -> Build, Execution, Deployment -> Build Tools -> Gradle下看不到JDK配置項。
而正常的Android工程可以直接配置:
因此,首先通過android studio導入android目錄下的子工程,然后進行配置。這時候可能會報錯
根據版本對照表,修改gradle版本:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip
通過上面的設置就可以解決了。
附錄:Java版本和Gradle版本對照表
Java Version | Support for Toolchains | Support for Running Gradle |
---|---|---|
8 | N/A | 2.0 |
9 | N/A | 4.3 |
10 | N/A | 4.7 |
11 | N/A | 5.0 |
12 | N/A | 5.4 |
13 | N/A | 6.0 |
14 | N/A | 6.3 |
15 | 6.7 | 6.7 |
16 | 7.0 | 7.0 |
17 | 7.3 | 7.3 |
18 | 7.5 | 7.5 |
19 | 7.6 | 7.6 |
20 | 8.1 | 8.3 |
21 | 8.4 | 8.5 |
22 | 8.7 | 8.8 |
23 | 8.10 | 8.10 |
24 | N/A | N/A |
官方地址:https://docs.gradle.org/current/userguide/compatibility.html#java
感謝大家的支持,如有錯誤請指正,如需轉載請標明原文出處!