Bagaimana cara mengatur JDK untuk Android Studio?

42

Saya tidak dapat mengkompilasi proyek baru default untuk Android 2.1 karena (?) JDK yang digunakan oleh Android Studio adalah JDK 1.7 tetapi haruslah JDK 1.6.

Untuk mengubahnya saya pergi ke File -> Struktur Proyek dan mencoba untuk menemukan lokasi JDK 1.6.

Tetapi ketika saya memilih direktori dan tekan OKsaya mendapatkan kesalahan berikut:

Silakan pilih direktori JDK yang valid

Silakan pilih direktori JDK yang valid

Seperti yang Anda lihat pada screenshoot saya mencoba mengatur Java 6 OpenJDK 64-bit sebagai JDK baru.

Apa yang dapat saya? Bukankah Android Studio kompatibel dengan OpenJDK dan haruskah saya menggunakan Oracle JDK?

Lucio
sumber
Sudahkah Anda mencoba binfolder itu?
Louis Matthijssen
Saya mencoba dengan: ./bin| ./jre| ./jre/binpesan yang sama untuk semua
Lucio
1
Bagi saya, saya hanya perlu menggunakan folder /jredi atas dalam struktur direktori, jadi jalur saya adalah /usr/lib/jvm/java-8-oracledan tidak /usr/lib/jvm/java-8-oracle/jre. Saya berasumsi path harus diakhiri /jrekarena path default ("tertanam" JDK) tidak, tetapi ternyata jika Anda pergi mencari di folder default, itu adalah folder yang disebut "jre" yang berisi folder lain yang disebut "jre" .
Jack M

Jawaban:

24

Saya menggunakan OpenJDK 7 dengan Android Studio dan berfungsi dengan baik. (Saya bahkan belum menginstal Oracle JDK saat ini.)

Pada layar yang Anda menunjukkan (Struktur Project -> SKD Lokasi) Saya memiliki lintasan berikut untuk lokasi JDK : /usr/lib/jvm/java-1.7.0-openjdk-amd64.

Daniel
sumber
8

Dengan memeriksa studio.sh, Anda juga dapat mengatur salah satu STUDIO_JDK, JDK_HOMEatau JAVA_HOMEvariabel lingkungan untuk menunjuk ke lokasi JDK.


studio.shmemeriksa STUDIO_JDK, JDK_HOMEdan JAVA_HOMEvariabel lingkungan dalam rangka:

if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
elif [ -n "$JDK_HOME" -a -x "$JDK_HOME/bin/java" ]; then
  JDK="$JDK_HOME"
elif [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
  JDK="$JAVA_HOME"

Jadi Anda bisa mengaturnya dengan tepat dan kemudian Studio akan mengambilnya.

Nuno
sumber
Ini juga berfungsi untuk windows. berguna jika Anda memiliki JDK dengan DCEVM sebagai default di JAVA_HOME yang tidak berfungsi dengan android studio.
Mateus Viccari
5

Tampaknya Android Studio tidak mengenali OpenJDK, jadi saya perlu menginstal OracleJDK .

Lalu saya memilih jalur ke Oracle JDK dan itu berhasil!

Lucio
sumber
saya menginstalnya tetapi saya tidak dapat mengatur variabel path-nya. bisakah Anda memberi tahu saya bagaimana saya bisa melakukan itu?
Nitesh Verma
1
Ya, pertama pastikan bahwa java -versionoutput dengan benar versi Java Anda . Kemudian, pada jendela AS pilih /usr/lib/jvm/jdk1.8.0/. Itu sudah cukup bagi saya pada saat itu :-)
Lucio
3

Ini bekerja untuk saya:

  1. Cari tahu direktori java:

    $ echo $JAVA_HOME
    /usr/lib/jvm/java-7-oracle
  2. Buka Android Studio dan kemudian File-> Struktur Proyek.

  3. Di bawah Lokasi SDK saya melewati direktori java dari atas
  4. Tunggu beberapa detik dan saya mendapat "0 kesalahan 0 advertencias"

Berhasil! :)

canorios
sumber
2

Langkah-langkah yang saya ikuti:

  1. Terminal terbuka dan masuk echo $JAVA_HOME

  2. Menyalin jalur yang ditampilkan di terminal - Ctrl+ Shift+ Cmenyalin di terminal Ubuntu

  3. Di studio Android - Struktur Proyek - Menempelkan jalur yang disalin

  4. Menunggu perangkat lunak mengenali dan memperbarui pengaturan

  5. Ini memecahkan masalah pengaturan Jdk tidak valid

anand24
sumber
1

Jika Anda memiliki ./binfolder dengan JDK dan Android Studio, Anda dapat mengatur STUDIO_JDKvariabel sebelum berjalan studio.shdi terminal:

STUDIO_JDK=./bin/jdk/ ./bin/android-studio/bin/studio.sh
antoineMoPa
sumber
0

Saya memperbaiki masalah ini. Saya menggunakan AS 2.1 dan JDK1.7 sementara itu mengharuskan saya untuk memperbarui JDK1.8 untuk beberapa fungsi. Saya mengunduh file pengaturan java. Mungkin saya hanya menginstal jre tetapi tidak jdk. jadi AS selalu memperingatkan saya bahwa "Silakan pilih direktori JDK yang valid". Jadi saya kira masalah penanya sama dengan saya bahwa Anda harus menginstal JDK tetapi tidak jre.

Songtao Lou
sumber
0

Saya pikir Anda mungkin telah menginstal jdk di tempat lain misalnya /usr/local/java. Dalam kasus saya, saya juga melihat nama folder yang sama di direktori yang ditampilkan di tangkapan layar Anda.

Jadi, periksa apakah jdk ada di tempat lain.

Udayraj Deshmukh
sumber