Android N membutuhkan IDE untuk dijalankan dengan Java 1.8 atau yang lebih baru?

117

XMLTata letak saya tidak dirender dengan pesan kesalahan ini. Saya sudah menggunakan Java 8.

masukkan deskripsi gambar di sini

Juga menggunakan alat build terbaru di Gradle.

android {
    compileSdkVersion 'android-N'
    buildToolsVersion 24.0.0 rc1
    ...
}

Kesalahan XML -

masukkan deskripsi gambar di sini

mjosh
sumber
2
Ada berbagai macam masalah rendering dengan Android Studio. Saya menyarankan agar Anda memberikan contoh minimal yang dapat direproduksi . Dalam kasus ini, itu akan mencakup file tata letak dan kesalahan spesifik.
CommonsWare
@CommonsWare Saya memperbarui gambar kesalahan XML. Instal JDK yang didukung mengarahkan saya untuk mengatur langkah-langkah yang sudah saya lakukan.
mjosh
1
Saya harus mengubah ke buildToolsVersion '24 .0.0 rc1 ', dokumentasinya tidak memiliki tanda kutip.
Teh Phyrum
@PhyrumTea Tidak membuat kesalahan hilang.
mjosh
1
Akhirnya, ketika saya mencoba membangun dan menjalankan proyek, itu gagal Directory cannot have its readable permission cleared for everybody. Rupanya itu bug yang diketahui dan Google sedang mengatasinya.
mjosh

Jawaban:

187

Saya mendapat kesalahan yang sama seperti yang Anda jelaskan tetapi di OS X. Saya tahu ini mungkin tidak menyelesaikan masalah Anda (karena saya tidak tahu padanannya untuk Windows), tetapi karena ini bukan khusus OS, saya meninggalkan solusi untuk sesama OS X di luar sana. Edit file /Applications/Android\ Studio.app/Contents/Info.plist, dan hapus versi 1.6 (dalam kasus saya), Anda dapat menempatkan 1.6+, 1.7+ atau 1.8, mana saja yang Anda inginkan. Punyaku berakhir seperti ini

...
<key>JVMVersion</key>
<string>1.7+</string>
...

Ketahuilah bahwa ada ketidakcocokan dengan seret dan lepas dengan versi java 1.8_60 hingga 1.8_75 ( IDEA-146691 ) yang akan dilaporkan oleh IDE setelah Anda berhasil mengubah versinya.

Untuk bukan Pengguna Terminal

  1. Temukan Android Studio.appfile Anda . Jika ada di dok, Anda dapat mengklik kanan dan memilih Options > Show in Finder.
  2. Klik kanan dan pilih Show package content.
  3. Arahkan ke file yang disebutkan ( Contents/Info.plist).
  4. Edit file dengan editor teks favorit Anda.
LaloLoop
sumber
11
Ini akan mengubah mesin virtual tempat Android Studio dijalankan. Di OSX saya, nilai aslinya adalah: <key> JVMVersion </key> <string> 1.6 *, 1.7 +, 1.8 </string> Dan nilai barunya adalah: <key> JVMVersion </key> <string> 1.8 </ string>
santhyago
8
Berhasil! Terima kasih untuk solusi ini. Pertanyaannya adalah: Mengapa Google ingin pengembangnya membuang-buang waktunya untuk masalah ini?
Kotik_o
3
Terima kasih telah mengatasi kekurangan dokumentasi google :). Saya bertanya-tanya mengapa instruksi ini tidak ada di sini: developer.android.com/intl/pt-br/preview/setup-sdk.html#java8 (Ini adalah tautan yang ditampilkan di studio android).
Totalys
7
Bekerja dengan baik !! Sayangnya, ketika memperbarui Android Studio (yang baru saja saya lakukan ke versi terbaru), itu me-reset file Info.plist jadi saya harus mengulangi langkah-langkah lagi untuk mengubah JVMVersion saya: <key>JVMVersion</key> <string>1.8</string>Android Studio yang sangat mengganggu!
Mikro
3
Android Studio 2.2 menggunakan <string> 1.8 *, 1.8 + </string>.
jmnwong
147

Klik pada huruf N, di sebelah ikon android di jendela Pratinjau dan pilih API level 23 atau lebih rendah. Itu harus menyelesaikannya.

Baris ikon pertama di jendela rpeview

Ian
sumber
25
Tapi saya ingin melihat pratinjau di N bukan di API 23.
mjosh
3
Saya mengalami masalah yang sama di Mac saya. menurunkan level API dari 24 menjadi 23 berhasil untuk saya.
salman
3
bukan jawaban, harap ikuti jawaban yang ditandai sebagai benar
Pavneet_Singh
Ini bukanlah jawaban. Ini hanya mengabaikan masalah lingkungan.
enadun
Selamat. Ya, Ini memecahkan masalah saya. Terima kasih. :)
arango_86
63

Set JDK_HOMEdan JAVA_HOMEvariabel lingkungan, dalam kasus saya C:\Program Files\Java\jdk1.8.0_60.

masukkan deskripsi gambar di sini

Periksa versi Java di Help > About. Ini harus menunjukkan versi JRE yang baru saja Anda atur.

masukkan deskripsi gambar di sini

Itu saja, sekarang Anda dapat melihat pratinjau tata letak Anda dalam N.

mjosh
sumber
1
Saya melakukan apa yang Anda katakan tetapi ketika saya membantu-> tentang itu masih menunjuk ke jdk lama saya. Mengapa demikian?
The_Martian
1
Saya memiliki JRE: 1.8 (sekitar). Namun, saya tidak dapat membangun aplikasi yang menargetkan v24. > compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
Zapnologica
1
@The_Martian Anda perlu memulai ulang komputer Anda.
meremas
1
Di Mac Os saya menghapus versi jdk lama saya. Setelah itu, Android Studio memilih versi terakhir
lopez.mikhael
1
@ lopez.mikhael itu sebenarnya satu-satunya hal yang berhasil bagi saya pada akhirnya. Saya mengubah setiap kemungkinan pengaturan yang dapat saya temukan, mengonfigurasi semuanya persis seperti yang seharusnya, terus mendapatkan kesalahan. Pada akhirnya, saya memindahkan direktori jdk lama ke subdirektori yang saya beri nama old_jdks di folder JavaVirtualMachine. Semuanya bekerja dengan baik sekarang.
zgc7009
27

Untuk pengguna Mac dengan masalah ini (Saya menjalankan OS X 10.11.5 dan Android Studio 2.1.2), berikut cara mengatasinya:

Saat ini, Android Studio versi Mac dijalankan dengan Java 6 (belum tentu sama dengan versi JDK untuk aplikasi), karena Java 6 memiliki rendering font yang lebih baik daripada Java 7 & 8, dan itu tampaknya lebih penting daripada rendering tata letak Anda.

Pertama-tama, pastikan Anda telah menginstal JDK 8 .

Kemudian jalankan perintah berikut:

$ export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk
$ open /Applications/Android\ Studio.app/

Anda mungkin perlu mengubah 91masuk jdk1.8.0_91.jdkke versi lain. Anda dapat melihat versi JDK yang Anda miliki dengan:

$ ls /Library/Java/JavaVirtualMachines/

Sayangnya, metode ini memerlukan pembukaan aplikasi dari terminal, tetapi Anda selalu dapat membuat skrip untuk itu.

Info lebih lanjut

Sunting: Dan jika Anda benar-benar tidak ingin membukanya dari terminal:

  1. Buat AppleScript dengan konten: do shell script "export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk; open /Applications/Android\\ Studio.app/"
  2. File> Simpan Pilih Aplikasi format file . Simpan di suatu tempat.
  3. Jika Anda ingin mengubah ikon, lihat di sini.
  4. Seret aplikasi ke launchpad Anda jika Anda mau.
wumbo
sumber
ketika saya mencoba menjalankan skrip, saya mendapatkan: error "sh: /usr/local/bin/studio: No such file or directory" number 127cara apa saja untuk memperbaikinya? ketika saya menjalankannya dari terminal, ini berfungsi dengan sempurna
Daniele
@Daniele Maaf, saya lupa bahwa saya membuat skrip shell lain untuk itu. AppleScript harus memiliki perintah yang sama seperti di atas. Lihat jawaban terbaru saya.
wumbo
5

Saya bertemu masalah yang sama.

Saya menginstal jdk1.6, jdk1.7, jdk1.8, dan menerapkan Studio seperti yang Anda lakukan.

Solusi saya adalah uninstall jdk1.6 dan jdk1.7, biarkan jdk1.8 saja

sudo rm -rf ${path to jdk1.6}
sudo rm -rf ${path to jdk1.7}

Itu saja.

youngwind
sumber
apakah itu aman untuk dilakukan
Micro
@MicroR Jika Anda perangkat lunak lain belum bergantung pada jdk1.6 dan jdk1.7, saya pikir itu aman.
youngwind
Solusi ini memperbaiki masalah saya. Cara mencopot pemasangan ini aman dan direkomendasikan oleh Oracle ( docs.oracle.com/javase/8/docs/technotes/guides/install/… )
Showpath
2

Saya menggunakan Ubuntu 14.04 dan saya menghadapi kesalahan serupa, dengan perbedaan saya tidak memiliki NDK. Solusi saya adalah, setelah menyiapkan Java 8 dalam definisi proyek, reboot Android Studio, tidak lebih.

Periksa versi sistem Java, di konsol "java -version", keluaran akan mengatakan sesuatu seperti ini

java version "1.8.0_91"
Sergio A Guzmán
sumber
Saya telah menyetel JAVA_HOME = "/ Library / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Contents / Home" Haruskah STUDIO_SDK juga menjadi "/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"?
mythicalcoder
@Maven secara teoritis Anda dapat menyetel variabel STUDIO_SDK yang akan menjadi jalur SDK untuk menjalankan Android Studio (seperti yang dikatakan dalam config params tools.android.com/tech-docs/configuration ). Namun, dalam kasus saya, saya tidak mengatur variabel itu dan IDE berjalan seperti yang diharapkan.
Sergio A Guzmán
Kamu benar. Saya mencoba berbagai hal. Memang masalah 1,8 tidak terhubung dengan benar. Ini menyelesaikannya stackoverflow.com/a/35935433/2369867 . Terima kasih.
mythicalcoder
2

Punya masalah yang sama dengan Ubunutu. Masalahnya adalah tidak menjalankan IDE dengan Java8.

Saya memperbaikinya dengan memperbarui program java default OS, menggunakan:

sudo update-alternatives --config java

Dan memilih jalur Java8 yang relevan.

danny11
sumber
1

Saya menghadapi masalah "Android N membutuhkan IDE untuk berjalan dengan Java 1.8 atau yang lebih baru." Kesalahan terus muncul meskipun C:\Program Files\Java\jdk1.8.0_92JDK proyek telah ditetapkan File > Project Structure.

Saya menyelesaikannya dengan memperbarui JAVA_HOME di variabel lingkungan saya dari C:\Program Files\Java\jdk1.7.0_67menjadiC:\Program Files\Java\jdk1.8.0_92 . Ketika saya melakukan itu dan memulai ulang Android Studio, mode desain menjadi tersedia.

OS: Windows 10

Android Studio: 2.1.2

Maksim Dmitriev
sumber
1

Saya telah menyelesaikannya dengan cara ini. (AS + MAC OX El Capitan)

  1. Memperbarui Alat SDK> Alat platform Android SDK
  2. Pergi ke Help> Edit Custom Properties> Sebuah dialog akan muncul (tekan ya) lalu tulis

    JVMVersion=1.8 

Kemudian tutup Android Studio sepenuhnya dan muat ulang proyek

Milon
sumber
0

Masalah saya adalah Android N "diinstal sebagian".

Solusi saya adalah pergi ke - Preferensi / Penampilan dan Perilaku / Pengaturan Sistem / Android SDK dan periksa Status. Jika "terinstal sebagian" maka Anda harus menghapus lalu menginstal ulang. (Hapus centang pada kotak dan tekan terapkan; itu akan menghapus; kemudian Anda dapat mencentang kotak dan menginstalnya lagi) Berhasil untuk saya. Jika Anda membuka versi yang lebih rendah (seperti 23), Anda harus mengubah variabel buildToolsVersion menjadi "23.0.0" di build.gradle.

tiborK
sumber
1
Milik saya masih mengatakan "terinstal sebagian" setelah menginstal ulang.
Andrew
Milik saya terlalu "terinstal sebagian" setelah menginstal ulang. @ Andrew, apakah Anda menemukan solusi setelah itu?
mythicalcoder
@Maven untuk saya, ternyata masalah saya adalah saya tidak memilih varian build yang benar saat mencoba membuat aplikasi.
Andrew
0

Saya menghadapi masalah yang sama baru-baru ini. Coba ubah level pratinjau API ke 23 atau lebih rendah. Itu berhasil untuk saya.


sumber
0

Saya pernah menghadapi masalah yang sama. Harap pastikan bahwa Anda merender tata letak XML untuk versi SDK yang dikompilasi (Tidak boleh lebih besar). Berarti Anda akan menghadapi ini jika Anda mengompilasi kode menggunakan Targeted SDK versi 23 dan Anda mencoba merender XML di SDK versi 24.

Muhamed Riyas M
sumber
0

Ada beberapa hal yang perlu diingat saat menyetel STUDIO_JDK di Mac OS:

  • secara default Java 1.6 Apple digunakan untuk memulai Android Studio
  • ketika STUDIO_JDK disetel ke Oracle Java, itu akan digunakan oleh Android Studio untuk dijalankan

Perbedaan antara keduanya adalah bahwa Apple Java IMO menyediakan font antialiasing yang lebih bagus dan lebih baik di IDE.

Balasan di sini merujuk pada bug di Android Studio terkait antialiasing font. Tiket sudah ditutup tetapi rendering masih berbeda untuk Apple Java dan Oracle SDK (saya punya v1.8.0_102). Dan yang pertama masih memiliki persepsi yang lebih baik dari yang terakhir.

Mykola
sumber
0

coba gunakan dalam proyek Java 1.8 - unduh versi terakhir JDK dan instal (jika JSK tidak ada)

Kemudian tambahkan ke build.gradle baris ini android {... // Konfigurasikan hanya untuk setiap modul yang menggunakan fitur bahasa Java 8 // (baik dalam kode sumbernya atau // melalui dependensi). compileOptions {sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8} // Untuk proyek Kotlin kotlinOptions {jvmTarget = "1.8"}}

Alexander
sumber
-1

mesin: windows8 64bit dalam kasus saya jdk1.7 yang saya instal adalah 32bit maka saya menggunakan studio.exe (32bit) jadi bahkan ketika saya mengunduh jdk1.8 baru (64bit) instance studio yang saya gunakan (32bit) tidak bisa t mendeteksinya, tetapi ketika saya mencopot pemasangan jdk lama dan mencoba menjalankan kembali studio.exe, saya diberitahu untuk memasang jdk 32-bit. jadi saya menjalankan studio64.exe dan berjalan lancar. pastikan Anda memiliki jalur yang benar di variabel lingkungan Anda. tepuk tangan android N

Peterstev Uremgba
sumber
-1

Pastikan Anda telah menginstal jdk untuk x64 dan bukan x84 saat memulai Android Studio (x64)

masukkan deskripsi gambar di sini

pengguna1564762
sumber