私の環境は以下の通りです。
- グラドルのバージョン:
gradle -v //javaのバージョンも直接出力されます。
Gradle 5.6.2
------------------------------------------------------------
Build time: 2019-09-05 16:13:54 UTC
Revision: 55a5e53d855db8fc7b0e494412fc624051a8e781
Kotlin: 1.3.41
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 11.0.11 (Oracle Corporation 11.0.11+9-LTS-194)
OS: Windows 10 10.0 amd64
C:\Users\nothing>java -version
java version "11.0.11" 2021-04-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)
- フルートバージョン
flutter Doctor -v //中の赤い×はAndroid Studioを開発に使っていないので、凝り固まってるので無視して大丈夫です。
C:\Users\Nothing>flutter doctor -v
[√] Flutter (Channel stable, 1.20.3, on Microsoft Windows [Version 10.0.19045.3086], locale zh-CN)
• Flutter version 1.20.3 at E:\flutter_windows_1.20.3-stable\flutter
• Framework revision 216dee60c0 (2 years, 9 months ago), 2020-09-01 12:24:47 -0700
• Engine revision d1bc06f032
• Dart version 2.9.2
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at C:\Users\Liu Shaoting\AppData\Local\Android\Sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: E:\AndroidStudio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)
• All Android licenses accepted.
[!] Android Studio
• Android Studio at E:\AndroidStudio
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
• android-studio-dir = E:\AndroidStudio
• Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)
[√] Connected device (1 available)
• Amazon Fire Phone (mobile) • emulator-5554 • android-x64 • Android 9 (API 28)
! Doctor found issues in 1 category.
Flutter プロジェクトを構築して実行するプロセスについては、再度説明しません。他の人の問題を再現する必要があるため、これらの非常に古いバージョンを使用する必要があります。Flutter 1.22.0 以降のバージョンの場合は、プロジェクトを直接作成して実行します。ただし、Flutter バージョン 1.22.0 以降では、いくつかの設定操作を行う必要があります (私の経験によると、これは確実ではありません)。さて、Flutter 1.20.3で作成したプロジェクトでflutter runを使用したところ、以下のような事故が発生しました。
私はスタックフローでこのエラーの解決策を探しましたが、誰もがそれはgradleのバージョンとjavaのバージョンの不一致が原因だと言いました。ただし、java8からjava17に、gradle2.14からgradle7.5.1に変更しました。まだ私の問題は解決していません。Gradle と Java のバージョンの比較表は、ここで参照できます。それから私は自分で調べ、さまざまな方法を試し、最終的に答えを見つけました。
解決策は次のとおりです(私にとってはうまくいきました)。
1. プロジェクトのandroidフォルダーでgradle.propertiesファイルを見つけて、このファイルを開きます。内容は以下の通りで、内部のプロジェクト構築過程で自動生成されます。
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
2.このgradle.propertiesファイルに Java パスを追加します。形式はorg.gradle.java.home=C:\\Program Files\\Java\\jdk-11.0.11 です。その結果、gradle.propertiesファイルの内容は次のようになります。
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
org.gradle.java.home=C:\\Program Files\\Java\\jdk-11.0.11
3. ファイルを保存します。ようやくバタバタ走行OKです。
注: この方法は私にとって効果的であり、一緒にコミュニケーションをとることができます。