web-dev-qa-db-ja.com

Android Studio JDKの場所は、1.8パスに更新されるたびに1.7に戻ります

Android Studioがapi24ビルドに必要だと言った後、最近jdk 1.8 u92をインストールしました。しかし、今この問題に遭遇しました。

他のいくつかのソリューションを調べ、jdk 1.7をアンインストールし、JDK_HOME、Java_HOME、およびJava8_HOMEの環境変数を追加しました。問題はまだ解決していません。

アプリをビルドしようとするたびに、gradle syncが失敗し、Android studioから有効なJDKディレクトリを選択してください。)に移動しますプロジェクト構造=> JDK Locationそして1.8フォルダーに更新します。再度ビルドしようとすると同じエラーが発生し、プロジェクト構造を確認すると、パスが古いJDK1.7に自動的に戻されます。

この問題の修正はありますか?

16
Asim

Androidスタジオ設定ディレクトリ内のいくつかのファイルを見て、それを理解しました。

Android Studioをアップグレードし、以前のインストールから設定をインポートしている場合、これが発生する可能性があります(新規インストールでも発生する可能性があります)。

解決:

  1. Android Studio configフォルダーが配置されている場所(通常は$ HOME/.AndroidStudio2.1/confg)に移動します。
  2. Optionsフォルダーを開き、ファイルを削除しますjdk.table.xml(念のためバックアップを保持します)
  3. 再起動Android Studio

これで問題が解決しました。新しく作成されたjdk.table.xmlは、Java8値を更新します(おそらくJDK_HOME環境変数からフェッチします)。

31
Asim
  1. 閉じるAndroidスタジオ

  2. に行く:

C:\ Users\WINDOW_USER_NAME\AndroidStudio2.1\config\options

jdk.table.xmlを開きます

  1. すべてをJDKバージョンに置き換えます。私の場合はすべてを:に置き換えます。

    C:/ Program Files/Java/jdk1.8.0_101

  2. android-studioを再度開きます

  3. 同期

1
Stav Bodik

次の手順に従います:(手順はWindows用です。他のオペレーティングシステムの場合は同じディレクトリに到達します)

ステップ1:「Win + R」を押し、「%userprofile%」と入力してEnterキーを押します。

ステップ2: Android Studioフォルダーに移動します。このフォルダーは次の形式になります-"。AndroidStudio2.2"(バージョンは異なる場合があります)

ステップ3:「config\options」フォルダーに移動します。

ステップ4:デスクトップでjdk.table.xmlのコピーを作成し、jdk.table.xmlを削除します。 (Androidスタジオがまだ実行されている間に実行してください)

ステップ5: In Android Studio-"ファイル->プロジェクト構造"に移動し、正しいjdkパスを選択します。

ステップ4とステップ5で問題が解決しない場合は、次の手順に従ってください::

ステップ4 ':メモ帳でjdk.table.xmlを開きます。

ステップ5 ': jdkバージョンを含むすべての単語を検索します-たとえば。 「1.8.0_45」を見つける

ステップ6 ':見つかった単語を置き換えます。現在のjdkバージョンで。例えば。 「1.8.0_45」を「1.8.0_111」に変更します(バージョン番号を含むすべてのフィールドを必ず置き換えてください)

ステップ7 ':jdk.table.xmlファイルを保存します

ステップ8 ':再起動Androidスタジオ。

これは間違いなく問題を解決します。

PS:JDKをインストールし、パスを設定する必要があります。

0
HARSH TYAGI

Xmlファイルを削除した後に実行したいことは、これを実行する前にAndroid studioを閉じないことです。Androidが再び起動すると、参照がチェックされるためです。設定を行い、「このユーザーはjdkのテーブルを削除した可能性がありますが、デフォルトでは1.7が選択されています。」

いいえ、テーブルファイルを削除するときは、スタジオを開いたままにします。次に、1.8を選択して、参照設定をテーブルに保存します。テーブルxmlファイルは、プログラムファイルではなく独自のユーザープロファイルフォルダーにあるため、現在実行中のファイルではないため、再起動する必要がない場合もあります。

0
Mr. El

1)これをアプリのbuild.gradleに追加します(Android要素内)

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

私はこれを https://stackoverflow.com/a/51032051/326242 からコピーしました。クレジットはそれを投稿した人に送られます( https://stackoverflow.com/users/2910520/matpag )が、正解はこの質問のどこにも投稿されていません。

0
Andrew Koster

この答えだけが私のためにうまくいきます: https://stackoverflow.com/a/34199964/1034622

Android SDKとJDKフォルダーの両方にスペースを含めることはできません。

0
Pablo Chvx