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に自動的に戻されます。
この問題の修正はありますか?
Androidスタジオ設定ディレクトリ内のいくつかのファイルを見て、それを理解しました。
Android Studioをアップグレードし、以前のインストールから設定をインポートしている場合、これが発生する可能性があります(新規インストールでも発生する可能性があります)。
解決:
これで問題が解決しました。新しく作成されたjdk.table.xmlは、Java8値を更新します(おそらくJDK_HOME環境変数からフェッチします)。
閉じるAndroidスタジオ
に行く:
C:\ Users\WINDOW_USER_NAME\AndroidStudio2.1\config\options
jdk.table.xmlを開きます
すべてをJDKバージョンに置き換えます。私の場合はすべてを:に置き換えます。
C:/ Program Files/Java/jdk1.8.0_101
android-studioを再度開きます
同期
次の手順に従います:(手順は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をインストールし、パスを設定する必要があります。
Xmlファイルを削除した後に実行したいことは、これを実行する前にAndroid studioを閉じないことです。Androidが再び起動すると、参照がチェックされるためです。設定を行い、「このユーザーはjdkのテーブルを削除した可能性がありますが、デフォルトでは1.7が選択されています。」
いいえ、テーブルファイルを削除するときは、スタジオを開いたままにします。次に、1.8を選択して、参照設定をテーブルに保存します。テーブルxmlファイルは、プログラムファイルではなく独自のユーザープロファイルフォルダーにあるため、現在実行中のファイルではないため、再起動する必要がない場合もあります。
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 )が、正解はこの質問のどこにも投稿されていません。
この答えだけが私のためにうまくいきます: https://stackoverflow.com/a/34199964/1034622
Android SDKとJDKフォルダーの両方にスペースを含めることはできません。