サポートされていない Java。現在、ビルドは Java 17.0.6 および Gradle 6.8.3 を使用するように構成されています。
翻訳する:
Java はサポートされていません。現在、ビルドは Java 17.0.6 および Gradle 6.8.3 を使用するように構成されています。
This translation kills people. 実際、私が言いたいのは、gradle のバージョンが java のバージョンと一致しないため、コンパイルが正常に失敗するということです。
バージョンが一致しないことがわかっていれば、次のように簡単です。
したがって、次の 2 つのオプションがあります。
- Javaのバージョンを変更する
- Gradleのバージョンを変更する
どれを変更しましょうか?
まず第一に、この種の状況のほとんどは、他の人のプロジェクトをインポートすることです。チームワークで Gradle のバージョンを変更することを選択した場合、コードが送信された後、チームの全員がそれに応じてアップグレードする必要があるという状況に直面することになります。他の人のローカル Java 環境がサポートされていない場合は、Java 環境を更新する必要があります
したがって、ここでは最初のオプションを使用することを選択し、ローカルの Java 環境のバージョンを変更します。
Java のどのバージョンを置き換えるべきですか? こちらが通信です
Android開発環境におけるgradleのバージョンとjavaのバージョンの対応関係
グラドルのバージョン | サポートされている JDK バージョン |
---|---|
6.x | JDK 8、JDK 11 (Gradle 6.7 以降のみ) |
5.x | JDK7、JDK8 |
4.x | JDK 6、JDK 7、JDK 8 |
3.x | JDK 6、JDK 7、JDK 8 |
2.x | JDK 6、JDK 7、JDK 8 |
1.x | JDK6、JDK7 |
ここで使用するバージョンは Gradle 6.8.3 です。表によると、JDK 8、JDK 11 が使用できます。
具体的にどれを使えばいいのでしょうか?原則は次のとおりです。
新しい Java バージョンを使用すると、より多くの新機能を使用できますが、開発者は高いバージョンの互換性を維持する必要があります。チームのメンバーに以前のバージョンの Java を使用している場合は、以前のバージョンの Java を使用することをお勧めします。互換性の問題がいくつかあります。
したがって、ここでは最初にJDK 8を使用します
環境が JDK 8 で正常に動作する場合、通常の状況はここで終了します。
firebaseを海外版で使用していたため、JDK 8を使用すると以下の問題が報告されました。
原因: com.google.common.util.concurrent.ExecutionError: java.lang.UnsupportedClassVersionError: com/google/firebase/perf/plugin/FirebasePerfPlugin は、より新しいバージョンの Java ランタイム (クラス ファイル バージョン 55.0) によってコンパイルされています。 、このバージョンの Java ランタイムは、52.0 までのクラス ファイル バージョンのみを認識します。
翻訳: このエラーは、使用している Firebase Performance プラグインが Java 11 以降でコンパイルされており、プラグインを実行している Java のバージョンがバージョン 52.0 でコンパイルされたクラス ファイルのみをサポートしていることが原因で発生します。
これを修正するには、Java ランタイム環境を Java 11 以降にアップグレードする必要があります。
したがって、私の環境では Java 11 を使用する必要があり、その環境はここで処理されます。
環境構成のヒント
ちなみに、Javaの環境設定や環境変数の設定などで頭を悩ませる人もいるかもしれないので、便利な方法を紹介します。
Android Studioの設定で、「JDKのダウンロード」を選択します。
JDK リストでダウンロードするバージョンを選択し、ダウンロードの完了後にそれを使用することを選択します
欠点は、Java環境がグローバルではないため、黒いウィンドウが使用できない可能性があることですが、影響は大きくありません
要約する
重要なのは、何が起こったのか、正確な結果を知り、考えられる解決策を知ることです