Android Studioを使用していますが、最近エラーが発生しました:
エラー:タスク ':app:compileDebugJavaWithJavac'の実行に失敗しました。 compileSdkVersion 'Android-24'をコンパイルするには、JDK 1.8以降が必要です。
しかし、私はすでにJDK 1.8をインストールしています:
:\ Users ..> Java -version
Javaバージョン「1.8.0_91」Java(TM)SEランタイム
環境(ビルド1.8.0_91-b15)Java HotSpot(TM)64ビットサーバーVM
(ビルド25.91-b15、混合モード)
修正方法ありがとう
Android Studioを開きます:File
> Project Structure
> JDKロケーションがJDK 1.8ディレクトリを指しているかどうかを確認します。
注:使用できるcompileSdkVersion 24
私は数日間同じ問題を抱えています。私はWindowsでうまくいく解決策を見つけました。 (環境変数も設定しますが、必要かどうかはわかりません。)
これらの行をbuild.gradleファイルに追加します。
Android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
}
ソース: https://code.google.com/p/Android/issues/detail?id=20385
参考までに、Ionicプロジェクトでこのエラーが発生しました。すべてのコマンドが戻って正しいJDKを指し示し、Java_HOMEが正しく設定されました。
PATHにJDK 1.7\binへのエントリがあり、それを1.8\binに置き換えて修正しました。
最新のjdkをインストールしましたが、これを行うまでは古いjdkを使用していました。
app rt-click >> module settings >> sdk location >> (old jdk path)
古いJDKパスを新しいjdkパスに置き換えます。
今魅力のように動作します:)
Android Studioを開きます:[ファイル]> [プロジェクト構造]> [SDKの場所]> [jdk1.8.0_101.jdkを選択]> [ホーム]
Macのコマンドラインからも同じ問題に遭遇していましたが、答えはJava_HOME
がオーバーライドされていたということでした。オーバーライドされる場所を追跡するには、最初にコマンドラインからJavaを確認します。
$ Java -version
Java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
次に、Gradleが使用しているJavaのバージョンを確認します。
$ gradle -version
------------------------------------------------------------
Gradle 2.13
------------------------------------------------------------
Build time: 2016-04-25 04:10:10 UTC
Build number: none
Revision: 3b427b1481e46232107303c90be7b05079b05b1c
Groovy: 2.4.4
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_92 (Oracle Corporation 25.92-b14)
OS: Mac OS X 10.11.5 x86_64
この時点で、私はまだ問題の原因を見つけていませんでした。少し掘り下げたところ、gradle.properties
を実行したときにJava 8が表示されていたにもかかわらず、gradle -version
ファイルで実際にオーバーライドされていることがわかりました。
org.gradle.daemon=true
org.gradle.Java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:-UseSplitVerifier -Xms512m -Xmx6144m
修正するには、Java.home
からgradle.properties
行を削除しました。うまくいけば、他の誰かがコマンドラインから同じ問題に直面している場合に役立ちます。
Windows 10では、最初にプロジェクト構造を確認し、古い1.7 jdkを指していました。 Android Studioを閉じてから、古いjdk(および一貫性のためにjreライブラリ)の名前を変更し、最新の1.8ライブラリのみを残しました。 Android Studioを再起動してアプリケーションをビルドしようとすると、Java JDKライブラリを要求し、最新の1.8 JDKライブラリへのパスを指定しました。私のシステムでは、C:\ Program Files\Java\jdk1.8.0_112でした。
Windowsのコマンドラインからも同じ問題が発生していましたが、同じヒントが表示されます。
Error:Execution failed for task ':app:compileDebugJavaWithJavac'. `compileSdkVersion 'Android-24' requires JDK 1.8 or later to compile.`
JDK location
のProject Structure
を確認してください。
Android Studioを開きます:
File
>Project Structure
> JDKロケーションがJDK 1.8ディレクトリを指しているかどうかを確認します。
次のようになります
JDK Location
C:\Program Files\Java\jdk1.8.0_91
すでに正しい場所をJDKに設定しています。
Javaバージョンを確認します
D:\AndroidSelfTrainingProject\CustomBuildIdDemo>Java -version
Java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
gradleバージョンを確認してください
.D:\AndroidSelfTrainingProject\CustomBuildIdDemo>gradle -v
------------------------------------------------------------
Gradle 2.10
------------------------------------------------------------
Build time: 2015-12-21 21:15:04 UTC
Build number: none
Revision: 276bdcded730f53aa8c11b479986aafa58e124a6
Groovy: 2.4.4
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.7.0_79 (Oracle Corporation 24.79-b02)
OS: Windows 7 6.1 AMD64
JVMバージョンは1.8でなければなりません。これを修正するには、gradle.properties
の.gradle
ディレクトリのHOME_DIRECTORY
にあるgradle.propertyをorg.gradle.Java.home=/path_to_jdk_directory
に追加します。私にとっては、次のようなものです。
org.gradle.Java.home=C:/Program Files/Java/jdk1.8.0_91
正しく設定されているかどうかを確認するには、gradle build
タスクを作成します。
D:\AndroidSelfTrainingProject\CustomBuildIdDemo>gradle build
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon
: https://docs.gradle.org/2.10/userguide/gradle_daemon.html.
To run dex in process, the Gradle daemon needs a larger heap.
It currently has approximately 910 MB.
For faster builds, increase the maximum heap size for the Gradle daemon to more than 2048 MB.
To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.properties.
For more information see https://docs.gradle.org/current/userguide/build_environment.html