私は次のコメントを実行しました:
./gradlew app:installDebug
ログでのみ満たされる:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine Java version from '11.0.2'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
私のgradleのバージョンは5.1.1です:
------------------------------------------------------------
Gradle 5.1.1
------------------------------------------------------------
Build time: 2019-01-10 23:05:02 UTC
Revision: 3c9abb645fb83932c44e8610642393ad62116807
Kotlin DSL: 1.1.1
Kotlin: 1.3.11
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.2 (Oracle Corporation 11.0.2+9-LTS)
OS: Mac OS X 10.13.6 x86_64
どうすればよいかわかりません(アップグレード/ダウングレードを試みましたが、今のところ何も機能していません)。
更新:実行したとき./gradlew --version
、私は以下を得た:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine Java version from '11.0.2'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
俺の gradle-wrapper.properties
に含まれるもの:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.Zip
システムには2つの異なるGradleアプリケーションがあります。
システム全体のGradle
このアプリケーションは、gradle (arguments)
によって呼び出されます。
gradle-wrapper
gradle-wrapperはすべてのプロジェクトに固有であり、コマンド./gradlew (arguments)
を使用して、プロジェクトのディレクトリ内でのみ呼び出すことができます。
システム全体のgradleバージョンは5.1.1です(OPがコメントで説明しているように、コマンドgradle --version
を実行するとバージョン5.1.1が返されます)。
ただし、失敗はgradle-wrapper(./gradlew
)の呼び出しの結果です。プロジェクトのgradleラッパーバージョンを確認できますか?これを行うには、プロジェクトのフォルダー内で、gradlewおよびgradlew.batファイルがあるディレクトリで./gradlew --version
を実行します。
更新1:./gradlew --version
の実行に失敗したため、ファイルを開いてラッパーのバージョンを手動で確認できます。
(プロジェクトのルートフォルダー)/gradle/wrapper/gradle-wrapper.properties
シンプルなテキストエディタで。内部の「distributionUrl」は、ラッパーのバージョンを教えてくれるはずです。
更新2:OPの更新された質問によると、gradle-wrapperのバージョンは4.1RC1です。
Gradle Gradle 5.0でJDK 11のサポートを追加 。したがって、4.1RCはJDK 11をサポートしていないため、これは間違いなく問題です。
明白な方法は、プロジェクトのgradle-wrapperをバージョン5.0に更新することです。ただし、更新する前に、gradle app:installDebug
を実行してみてください。これは、バージョン5.1.1をサポートし、Java 11.をサポートするシステム全体にインストールされたGradleを使用します。これが機能するかどうかを確認します。 v.4.1RC1とv.5.1.1の間の重大な変更により、プロジェクトのフォルダー内のコマンドラインからgradle wrapper --gradle-version=5.1.1
[*]を実行してラッパーを更新できます。
gradle app:installDebug
が正しく実行できない場合、Gradleビルドスクリプトをアップグレードする必要があるかもしれません。 v.4.1RC1から5.1.1に更新するために、Gradleプロジェクトは、マイナーリリース間で重大な変更と非推奨の機能に関するガイド( 1 、 2 )を提供します。徐々に最新バージョンに更新できます。
あるいは、何らかの理由でGradleビルドスクリプトをアップグレードできない、またはアップグレードしたくない場合は、常にJavaバージョンをGradle 4.1RC1がサポートするバージョンにダウングレードすることを選択できます。
[*] @lupchiazoemによる別の回答で正しく指摘されているように、gradle wrapper --gradle-version=5.1.1
を使用してください(元々誤ってそこに投稿した./gradlew
ではありません)。その理由は、GradleがJavaで実行されるためです。システム全体にインストールされたGradleまたはgradle-wrapper自体の、動作中のGradleディストリビューションを使用して、gradle-wrapperを更新できます。ただし、この場合、ラッパーはインストール済みのJavaバージョンと互換性がないため、システム全体のGradle(./gradlew
ではなくgradle
)を使用する必要があります。
distributionUrl
はまだ古いバージョンを指しているため、次を使用してラッパーをアップグレードします。
gradle wrapper --gradle-version 5.1.1
注:gradle
ではなくgradlew
を使用してください
私の場合、Java_HOME
変数は/usr/lib/jvm/jdk-11.0.2/
に設定されていました。このように変数を設定解除するだけで十分でした:
$ export Java_HOME=
tl; dr:ダウングレードJava実行update-alternatives
私のシステムのgradleバージョンは4.4.1で、gradle wrapperバージョンは4.0でした。他のいくつかの回答で指定されたコマンドを実行した後:
gradle wrapper --gradle-version 4.4.1
私はまだ同じエラーがありました:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine Java version from '11.0.4'.
Java 11はgradle 4.8までサポートされていなかったため、私のソフトウェアリポジトリには4.4.1しかありませんでした。コンパイルします。)
答えは、Javaをダウングレードすることでした。私のシステムには実際にJava8がすでにインストールされており、このコマンドを実行して指示に従うことでJavaバージョンを簡単に切り替えることができました。
Sudo update-alternatives --config Java
ラッパーバージョンは11+をサポートしていないため、新しいバージョンのInteliJを永久にごまかす簡単なトリックを作成できます。
press3x Shift -> type "Switch Boot JDK" -> and change for Java 8.
https://blog.jetbrains.com/idea/2015/05/intellij-idea-14-1-4-eap-141-1192-is-available/
またはJava 11+で作業したい場合は、ラッパーバージョンを4.8+に更新する必要があります。
長い回答を短くするには、システムgradlew
ツールを使用してgradle
をアップグレードします。システムのgradle
バージョンが< 5
であっても、以下のアップグレードが機能することに注意してください。
gradle wrapper --gradle-version=5.1.1
同じ問題が発生しました。 gradle 5.0にアップグレードすると、私にとってはうまくいきました。
このリンクには、gradle 5.0のインストール方法に関する詳細な手順が記載されています。 https://linuxize.com/post/how-to-install-gradle-on-ubuntu-18-04/
ここでも同じ問題がありました。私の場合、古いバージョンのJDKを使用する必要があり、JDKのバージョンを管理するために sdkmanager を使用しています。そのため、仮想マシンのバージョンを1.8に変更しました。
sdk use Java 8.0.222.j9-adpt
その後、アプリはここで期待どおりに実行されます。
プロジェクトファイルに行きました。gradle/wrapper/gradlewrapper.properties
distributionurl
の値を最新バージョンに変更できます。 (docs.gradle.orgにあります)
[ファイル]-> [プロジェクト構造]をクリックしてこれを解決し、[JDKの場所]を[埋め込みJDKを使用する]に変更しました(推奨)
同様の問題に遭遇しました。これらを削除しました:
ビルドフォルダーの内容。
その後、再構築します。
*プロジェクトを最初にバックアップすることを忘れないでください*
同様の問題がありました:デフォルトのgradle wrapper
はバージョン4.xでしたが、Javaの上位バージョンのサポートがGradle 5に追加されました。
ここで説明されているようにgradlew
を更新しました: https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:upgrading_wrapper
TLTD:
./gradlew wrapper --gradle-version 5.6.2
gradle/wrapper/gradle-wrapper.properties
を次のバージョンに更新すると、修正されました。
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.Zip
私の場合、古いUnity 3DプロジェクトのAPKをビルドして取得しようとしました(Android電話でゲームをプレイできるようにするため)。最新のAndroid Studioバージョンと、Android StudioのSDK Managerを介してダウンロードできるすべてのSDKパッケージを使用していました。 SDKパッケージの場所は
_C:/Users/Onat/AppData/Local/Android/Sdk
_
そして、私が受け取ったエラーメッセージは、JDK(Java Development Kit)バージョン "jdk-12.0.2"を除いて同じでした。 JDKは
_C:\Program Files\Java\jdk-12.0.2
_
また、Windowsの環境変数はJava_HOMEでした:C:\ Program Files\Java\jdk-12.0.2
3時間の調査の結果、UnityはJDK 10をサポートしていないことがわかりました。_https://forum.unity.com/threads/gradle-build-failed-error-could-not-determine-Java-version-from-10-0-1.532169/
_で説明されています。私の提案は次のとおりです。
http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html
_に向かうComputer/This PC>Properties>Advanced System Settings>Environment Variables>New>Variable Name: Java_HOME>Variable Value: [YOUR JDK Path, Mine was "C:\Program Files\Java\jdk1.8.0_221"]
_]を右クリックしてJavaパスを変更しますEdit > Preferences > External Tools and fill in the JDK path (Mine was "C:\Program Files\Java\jdk1.8.0_221")
を押します。Android Studio > SDK Manager > Android SDK > Android SDK Location
_から取得します。)Ubuntu 18.04.3 LTSでも同じ問題に遭遇しました。私の場合、aptはgradleバージョン4.4.1をインストールしました。すでにインストールされているJavaバージョンは11.0.4
私が受け取ったビルドメッセージは
Could not determine Java version from '11.0.4'.
当時、ほとんどのオンラインドキュメントはgradleバージョン5.6を参照していたため、次のことを行いました。
Sudo add-apt-repository ppa:cwchien/gradle
Sudo apt update
Sudo apt upgrade gradle
次に、プロジェクトの初期化を繰り返しました(デフォルトで「gradle init」を使用)。その後、「./ gradlew build」は正しく機能しました。
後で、「Java --version」からの出力の形式の変更に関するコメントを読みました。これにより、gradleが破損しましたが、これはgradleの以降のバージョンで修正されました。