Gradleに別の場所からJavaを使用するように指示するにはどうすればよいですか?


9

Android Studioでテストアプリを作成していたところ、イベントログに次のように表示されました。

Android Studioは次のJDKの場所を使用しています:C:\ Program Files \ Android \ Android Studio \ jreこれは、Gradleがデフォルトで使用するものとは異なります:C:\ Program Files(x86)\ Java \ jdk1.8.0_181異なる場所を使用すると、スポーンする場合がありますAndroid Studioの使用中にコマンドラインからGradleタスクを実行する場合は、複数のGradleデーモン。

次に、これらのオプションを与えました:

  1. より詳しい情報...
  2. Android Studioを設定してGradleと同じJDKを使用し、同期する
  3. 今後この警告を表示しない

私はクリックしました:

Android Studioを設定してGradleと同じJDKを使用し、同期する

その後、私のアプリはこれ以上ビルドしたくありませんでした。

これはエラーです:

Gradleの同期に失敗しました:デーモンプロセスを開始できません。
この問題は、デーモンの構成が正しくないことが原因である可能性があります。

たとえば、認識されないjvmオプションが使用されています。https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html
にあるデーモンのユーザーマニュアルの章を参照してください

コマンドラインの処理:C:\ Program Files(x86)\ Java \ jdk1.8.0_181 \ bin \ java.exe -Xmx1536m -Dfile.encoding = windows-1252 -Duser.country = ZA -Duser.language = en -Duser。バリアント-cp C:\ Users \ {MyUserName} \。gradle \ wrapper \ dists \ gradle-5.4.1-all \ 3221gyojl5jsh0helicew7rwx \ gradle-5.4.1 \ lib \ gradle-launcher-5.4.1.jar org.gradle。 launcher.daemon.bootstrap.GradleDaemon 5.4.1

詳細については、次のプロセス出力をお読みください。

VMの初期化中にエラーが発生しました1572864KBオブジェクトヒープ用の十分なスペースを予約できませんでした詳細についてはIDEログを参照してください(ヘルプ|ログを表示)(16秒166ミリ秒)

イベントログを確認しました。

私は以前にこれをしたと思います:

C:/ Program Files / Android / Android Studio / jreからjavaを使用するようにgradleに指示する

今それはこれを言います:

C:/ Program Files(x86)/Java/jdk1.8.0_181からjavaを使用するようにgradleに指示する

アプリを再度ビルドできるように、それを元の状態に戻すにはどうすればよいですか?

どんな助け/アドバイスもいただければ幸いです

回答:


2

ファイル、プロジェクト構造、SDKの場所に移動し、JDKの場所のドロップダウンをJAVA_HOMEに変更します。

Androdi Studio 3.6ベータのプロジェクト構造


1
それを試したところ、私の質問と同じエラーが発生しました。64ビットWindowsを使用しています。
シーアス様

1

環境変数を変更/追加する必要があります。

このリンククリックして、環境変数を変更/追加する方法を確認してください。

次に、変数「JAVA_HOME」を追加/変更し、パスを C:\Program Files\Android\Android Studio\jre

注:後で別のIDEで別のJavaプロジェクトで作業する場合、この変数をデフォルトのJavaの場所(この場合はC:/Program Files (x86)/Java/jdk1.8.0_181)に再度変更する必要がある場合があります。


0

Android Studioは独自のバージョンを使用しているのに対し、Gradleは明らかにOracleからのネイティブJavaインストールを使用しています。

Android Studioを3.6.1にアップグレードしてから、この警告は無視してきました。これまでのところ問題はありません。実際、私は問題なく新しいバージョンのアプリをリリースしました。

これが煩わしくなり、他に問題がない場合は、今後の警告を無視するオプションがあります。警告を押して、この警告に関連する今後のメッセージを無視するオプションを選択するだけです。


0

Ubuntu 16.04 LTS、Android Studio 3.6

それが私が警告を取り除く方法です:

1)studio.shお使いのマシンでASランチャースクリプトを見つけます。私の下にあります/opt/android-studio-3.x/bin
。2)スクリプト内には、次の行があります。

# ---------------------------------------------------------------------
# Locate a JDK installation directory which will be used to run the IDE.
# Try (in order): STUDIO_JDK, studio.jdk, ./jre64, JDK_HOME, JAVA_HOME, "java" in PATH.
# ---------------------------------------------------------------------
if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
fi

if [ -z "$JDK" -a -s "$HOME/.AndroidStudio3.6/config/studio.jdk" ]; then
  USER_JRE=`"$CAT" $HOME/.AndroidStudio3.6/config/studio.jdk`
...

3)何らかの理由で、環境変数をランチャーにエクスポートできない場合(xfce4セッションから私に起こったように)、目的のJAVA_HOME値をstudio.jdkシステム上の場所にあるファイル内に書き込むことができます。スクリプトはにあり$HOME/.AndroidStudio3.6/config/studio.jdkます。

$ echo $JAVA_HOME > $HOME/.AndroidStudio3.6/config/studio.jdk
$ cat $HOME/.AndroidStudio3.6/config/studio.jdk
/usr/lib/jvm/java-8-oracle

4)最後に、DEセッションからASを再起動JAVA_HOMEすると、[File]-> [Project Structure]-> [SDK Location]ウィンドウが上記の値に設定され、ASとgradleの両方が同じJREを使用するはずです。

プロジェクト構造ウィンドウ


-1

Android Studioで私はしました:

ファイル>プロジェクト構造...> SDKの場所(左側のペイン)

次に、下部にドロップダウンがあります:JDKの場所:

次に、このディレクトリを選択/参照しました:

C:\ Program Files \ Java \ jdk1.8.0_181

その後、Gradle Syncが再び機能しましたが、この警告が引き続き表示されます。

Android Studioは次のJDKの場所を使用しています:C:\ Program Files \ Java \ jdk1.8.0_181これは、Gradleがデフォルトで使用するものとは異なります:C:\ Program Files(x86)\ Java \ jdk1.8.0_181。Android Studioの使用中にコマンドラインからGradleタスクを実行すると、異なる場所を使用すると複数のGradleデーモンが生成される場合があります。

  1. より詳しい情報...
  2. Android Studioを設定してGradleと同じJDKを使用し、プロジェクトを同期する
  3. 今後この警告を表示しない

それから私は不満足なものをクリックしました:「
今後
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.