web-dev-qa-db-ja.com

IntelliJビルドエラーコンテキストの不一致

IntelliJ IDEA 15の代わりにAndroid Studioを使用したいのですが、ビルドに問題があります。次のエラーが表示されます。

Gradle sync failed: The newly created daemon process has a different context than expected.
It won't be possible to reconnect to this daemon. Context mismatch: 
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0\jre,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=1224,idleTimeout=null,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant]
Actual: DefaultDaemonContext[uid=6fd89265-5686-4337-a75f-538209464d3a,javaHome=C:\Program Files\Java\jdk1.8.0_74,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=14128,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant]

私の間違いは何ですか?次の写真でわかるように、すべてが正しく構成されています。

JDKとAndroid Toolsを次のように構成しました。

ProjectSDK2SDK1

53
timia2109

同様の問題を調査中にこの質問を見つけて、私の問題を解決したので、私の経験が役に立つかもしれません。

観察

私の問題は、WantedコンテキストのIDEAインストールフォルダーに埋め込まれたJREへのパスとしてjavaHomeがあり、Actual contextには、最初のバージョンのJavaがパス上にありました。オンラインで同様のエラーレポートがいくつか見つかりましたが、IDEA Wantedバージョン。

Wanted JavaバージョンはたまたまJREのシステム全体のインストールであり、プロジェクト用に設定したJDKや、作成したJava_HOMEの値ではありませんパスを並べ替えると、別の「不要な」バージョンのJavaが使用されるため、実行するものを選択するためにパスを明確に使用していましたが、その理由は明確ではありませんでした。 IntelliJの組み込みJREを最初のパスにする。これはさまざまな理由でJDKである必要があったため、別のソリューションが必要だったからです。

また、(Windowsを使用しているのでProcess Explorerを使用して)失敗した場合、IntelliJがいくつかのJava.exe Gradleデーモンプロセスを起動し、ビルドを開始しようとする前にデーモンプロセスが実行されていないことに気付きました。

解決

原因は、次のように、「実行/デバッグ構成」ダイアログで新しい構成を定義し、build.gradleフィールドにGradle project:ファイルへのフルパスを入力したことでした。 (フィールドの右側にある省略記号(...)ボタンをクリックしてこれを行いましたが、直接入力することもできました。)

Run/Debug Configurations dialog showing Gradle project as an explicit path to a Gradle build file

ただし、次の画像で緑色で強調表示されているフィールドの右側にある「フォルダー」アイコンをクリックして、Gradle project:が「登録済みプロジェクト」として指定されている既存の構成のパターンに従う必要がありました。この場合、フィールドの内容はプロジェクト名に過ぎず、微妙に異なる背景/前景色で表示されます。 (この名前を右クリックすると、build.gradleを含むフォルダーへのパスに置き換えられることが偶然発見されましたが、キャンセルして構成の編集を再度開始すると、プロジェクト名として表示されます。)

Run/Debug Configurations dialog showing Gradle project as the name of a registered project

この変更を行った後、構成は期待どおりに構築され、UIの「Gradle」パネルからタスクを実行したときと同じJDKパスを使用して、Java.exeが1つだけ起動されることがわかりました。

78
HughG

Idea.exeではなくidea64.exeを使用して解決しました

enter image description here

42
Percy Vega
  1. ファイルgradle.propertiesをフォルダー%USERPROFILE%\.gradle\(* nixマシンの~/.gradle/)に作成します
  2. このファイルに文字列org.gradle.Java.home={actual path to jdk}を追加します(MacOSで確認するには/usr/libexec/Java_homeを実行します)

私にとって、この問題は64ビットJREしかインストールされていないため、64ビットモードでIDEを実行することで解決しました。

14
Arthur Carroll

私はまったく同じ問題を抱えていましたが、これが私にとってうまくいったことです。

IntelliJ projectのルートディレクトリから.ideaおよび.projectファイルを削除しました。 IntelliJを再起動し、プロジェクトを再度開きました。

5
Abdullah Khan

Gradle.propetriesに以下を追加します

org.gradle.Java.home = $ {sdk_path}

例えば:

org.gradle.Java.home = C:\ Program Files(x86)\ Java\jdk1.8.0_121

それ以外の場合は、メモリヒープの警告が表示されます。

以下のgradle.propertiesも追加してください:org.gradle.jvmargs = -Xmx512m

2
Dante

私のために働いたのは:

  • intelliJのアンインストール
  • IntelliJを再インストールしますが、インストール中にDO N'Tを確認してください。「JetBrainsによる64ビットJREのダウンロードとインストール(64ビットランチャーで使用されます)」

これにより、私のプロジェクトが再び動作するようになりました(32ビット版と64ビット版の両方で)。

1
sel-en-ium

この問題を解決するには、jreおよびjre64フォルダーの名前を変更して、それらが使用されないようにし、idea.batファイルでJava_HOMEを他のJDK 1.8インストールに設定します。

0
Krishna

Gradle IDEAプラグインを使用している場合:

  1. 実行.\gradlew cleanidea idea
  2. IntelliJ IDEAを終了します
  3. IntelliJ IDEAを起動し、メインメニューから[プロジェクトのインポート]オプションを選択します。
  4. プロジェクトのメインbuild.gradleファイルは、インポートするプロジェクトを指定するように求められます。
  5. その後、JDKを「プロジェクトのデフォルト」または別の優先JDKに設定する機会が得られます。
  6. [OK]をクリックして続行し、Gradleの同期とビルドの成功を確認します!
0
Adil B

jdkフォルダーをintellijの必要なフォルダーC:\ Program Files\JetBrains\IntelliJ IDEA Community Edition 2016.3.4\jreに移動するだけです

次に、目的の行に指定された.gradleフォルダの値を変更してプロジェクトを閉じ、再起動します

わたしにはできる....

0
Hafiz umer

私の場合、設定に行き、JDKを検索し、Java Compilerをクリックしただけで、プロジェクトのバイトコードバージョンが欠落していることに気付きました。したがって、ビルドバージョンがJavaである1.8のみをチェックしました。そして、それは私にとってそれでした。

enter image description here

0
Juan Mendez