Android N richiede che l'IDE funzioni con Java 1.8 o successivo?


117

Il mio XMLlayout non viene visualizzato con questo messaggio di errore. Sto già usando Java 8.

inserisci qui la descrizione dell'immagine

Utilizzando anche gli ultimi strumenti di build in Gradle.

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

Errore XML -

inserisci qui la descrizione dell'immagine


2
Ci sono tutti i tipi di problemi di rendering con Android Studio. Ti suggerisco di fornire un esempio riproducibile minimo . In questo caso, ciò includerebbe il file di layout e l'errore specifico.
CommonsWare

@CommonsWare Ho aggiornato l'immagine dell'errore XML. Installare un JDK supportato mi ha reindirizzato per impostare i passaggi che ho già fatto.
mjosh

1
Ho dovuto passare a buildToolsVersion '24 .0.0 rc1 ', nella documentazione mancavano le virgolette.
Tè Phyrum

@PhyrumTea Non ha eliminato l'errore.
mjosh

1
Alla fine, quando ho provato a creare ed eseguire il progetto, non è riuscito con Directory cannot have its readable permission cleared for everybody. Apparentemente è un bug noto e Google ci sta lavorando.
mjosh

Risposte:


187

Ho ricevuto lo stesso errore che descrivi ma su OS X. So che questo potrebbe non risolvere il tuo problema (perché non conosco l'equivalente per Windows), ma poiché questo non è specifico del sistema operativo, lascio la soluzione a qualsiasi collega OS X là fuori. Modifica il file /Applications/Android\ Studio.app/Contents/Info.pliste rimuovi la versione 1.6 (nel mio caso), puoi inserire 1.6+, 1.7+ o 1.8, come preferisci. Il mio è finito così

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

Tieni presente che esiste un'incompatibilità con il trascinamento della selezione con le versioni java da 1.8_60 a 1.8_75 ( IDEA-146691 ) che l'IDE segnalerà una volta modificata con successo la versione.

Per utenti non terminali

  1. Trova il tuo Android Studio.appfile. Se è nel dock puoi fare clic con il pulsante destro del mouse e scegliere Options > Show in Finder.
  2. Fare clic con il tasto destro e scegliere Show package content.
  3. Vai al file citato ( Contents/Info.plist).
  4. Modifica il file con il tuo editor di testo preferito.

11
Questo cambierà la macchina virtuale su cui viene eseguito Android Studio. Nel mio OSX, il valore originale era: <key> JVMVersion </key> <string> 1.6 *, 1.7 +, 1.8 </string> E il nuovo valore è: <key> JVMVersion </key> <string> 1.8 </ stringa>
santhyago

8
Funziona! Grazie per questa soluzione. La domanda è: perché Google vuole che i suoi sviluppatori perdano tempo su questi temi?
Kotik_o

3
Grazie per aver risolto la mancanza di documentazione di Google :). Mi chiedo perché questa istruzione non sia qui: developer.android.com/intl/pt-br/preview/setup-sdk.html#java8 (questo è il collegamento visualizzato su Android Studio).
Totalys

7
Funziona alla grande!! Purtroppo, quando aggiorno Android Studio (cosa che ho appena fatto alla versione più recente), reimposta il file Info.plist, quindi devo ripetere di nuovo i passaggi per cambiare la mia JVMVersion: <key>JVMVersion</key> <string>1.8</string>Android Studio così fastidioso!
Micro

3
Android Studio 2.2 utilizza <string> 1.8 *, 1.8+ </string>.
jmnwong

147

Fare clic sulla lettera N, accanto all'icona di Android nella finestra Anteprima e selezionare il livello API 23 o inferiore. Questo dovrebbe risolverlo.

Prima riga di icone nella finestra rpeview


25
Ma voglio visualizzare l'anteprima in N non in API 23.
mjosh

3
Ho riscontrato lo stesso problema sul mio Mac. abbassare il livello API da 24 a 23 ha funzionato per me.
salman

3
non è una risposta, segui la risposta contrassegnata come corretta
Pavneet_Singh

Questa non è una risposta. Questo è solo ignorare l'ambiente problematico.
enadun

Ben fatto. Sì, ha risolto il mio problema. Grazie. :)
arango_86

63

Set JDK_HOMEe JAVA_HOMEvariabili d'ambiente, nel mio caso C:\Program Files\Java\jdk1.8.0_60.

inserisci qui la descrizione dell'immagine

Controlla la versione di Java in Help > About. Dovrebbe mostrare la versione JRE che hai appena impostato.

inserisci qui la descrizione dell'immagine

Ecco fatto, ora puoi visualizzare in anteprima il tuo layout in N.


1
Ho fatto quello che hai detto ma quando aiuto-> al riguardo punta ancora al mio vecchio jdk. Perché?
The_Martian

1
Ho JRE: 1.8 (in circa). Tuttavia, non posso creare app con targeting v24. > compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.
Zapnologica

1
@The_Martian devi riavviare il computer.
squeeish

1
Su Mac OS rimuovo la mia vecchia versione di jdk. Successivamente, Android Studio seleziona l'ultima versione
lopez.mikhael,

1
@ lopez.mikhael che in realtà è l'unica cosa che ha funzionato per me alla fine. Ho cambiato ogni possibile impostazione che ho trovato, ho configurato tutto esattamente come avrei dovuto, continuavo a ricevere l'errore. Alla fine, ho spostato le vecchie directory jdk in una sottodirectory che ho chiamato old_jdks nella cartella JavaVirtualMachine. Tutto funziona alla grande ora.
zgc7009

27

Per gli utenti Mac con questo problema (sto eseguendo OS X 10.11.5 e Android Studio 2.1.2), ecco come puoi risolverlo:

Attualmente, la versione Mac di Android Studio viene eseguita con Java 6 (non necessariamente la stessa della versione JDK per l'app), perché Java 6 ha un rendering dei caratteri migliore rispetto a Java 7 e 8, e questo è apparentemente più importante del rendering del layout.

Prima di tutto, assicurati di aver installato JDK 8 .

Quindi esegui i seguenti comandi:

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

Potrebbe essere necessario modificare 91in jdk1.8.0_91.jdkuna versione diversa. Puoi vedere quali versioni di JDK hai con:

$ ls /Library/Java/JavaVirtualMachines/

Sfortunatamente, questo metodo richiede l'apertura dell'app dal terminale, ma puoi sempre creare uno script per esso.

Ulteriori informazioni

Modifica: e se davvero non vuoi aprirlo dal terminale:

  1. Crea un AppleScript con contenuti: do shell script "export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk; open /Applications/Android\\ Studio.app/"
  2. File> Salva Scegli il formato del file Applicazione . Salvalo da qualche parte.
  3. Se vuoi cambiare l'icona, guarda qui.
  4. Se lo desideri, trascina l'app sul launchpad.

quando provo a eseguire lo script ottengo: error "sh: /usr/local/bin/studio: No such file or directory" number 127qualche modo per risolverlo? quando lo eseguo da terminale funziona perfettamente
Daniele

@Daniele Scusa, ho dimenticato di aver creato un altro script di shell per questo. AppleScript dovrebbe avere gli stessi comandi di cui sopra. Vedi la mia risposta aggiornata.
wumbo

5

Ho incontrato lo stesso problema.

Ho installato jdk1.6, jdk1.7, jdk1.8 e ho distribuito Studio come hai fatto tu.

La mia soluzione è disinstallare jdk1.6 e jdk1.7, lasciare solo jdk1.8

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

È tutto.


è sicuro da fare
Micro

@MicroR Se tu gli altri software non dipendevano da jdk1.6 e jdk1.7, penso che sia sicuro.
youngwind

Questa soluzione ha risolto il problema per me. Questo modo di disinstallare è sicuro ed è quello consigliato da Oracle ( docs.oracle.com/javase/8/docs/technotes/guides/install/… )
Showpath

2

Sto usando Ubuntu 14.04 e stavo affrontando un errore simile, con la differenza che non ho NDK. La mia soluzione è stata, dopo aver impostato Java 8 nella definizione del progetto, riavviare Android Studio, non più.

Controlla la versione del sistema Java, nella console "java -version", l'output dovrebbe dire qualcosa del genere

java version "1.8.0_91"

Ho impostato JAVA_HOME = "/ Library / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Contents / Home" Dovrebbe essere anche STUDIO_SDK "/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"?
mythicalcoder

@Maven teoricamente puoi impostare la variabile STUDIO_SDK che sarà il percorso dell'SDK per eseguire Android Studio (come detto nei parametri di configurazione di Studio tools.android.com/tech-docs/configuration ). Tuttavia, nel mio caso non ho impostato quella variabile e IDE funziona come previsto.
Sergio A Guzmán

Hai ragione. Ho provato cose diverse. Era infatti il ​​problema di 1.8 non collegato correttamente. Questo lo ha risolto stackoverflow.com/a/35935433/2369867 . Grazie.
mythicalcoder

2

Ho avuto lo stesso problema con Ubunutu. Il problema non era l'esecuzione dell'IDE con Java8.

L'ho risolto aggiornando il programma java predefinito del sistema operativo, utilizzando:

sudo update-alternatives --config java

E scegliendo il percorso Java8 pertinente.


1

Ho riscontrato il problema "Android N richiede che l'IDE venga eseguito con Java 1.8 o versioni successive." L'errore continuava a comparire nonostante l'impostazione C:\Program Files\Java\jdk1.8.0_92come JDK del progetto in File > Project Structure.

L'ho risolto aggiornando JAVA_HOME nelle mie variabili d'ambiente da C:\Program Files\Java\jdk1.7.0_67a C:\Program Files\Java\jdk1.8.0_92. Quando l'ho fatto e ho riavviato Android Studio, la modalità di progettazione è diventata disponibile.

Sistema operativo: Windows 10

Android Studio: 2.1.2


1

L'ho risolto in questo modo (AS + MAC OX El Capitan)

  1. Aggiornamento degli strumenti SDK> Strumenti della piattaforma SDK Android
  2. Vai a Aiuto> Modifica proprietà personalizzate> Verrà visualizzata una finestra di dialogo (premi Sì), quindi scrivi

    JVMVersion=1.8 

Quindi chiudi completamente Android Studio e ricarica il progetto



0

Il mio problema era che Android N era "parzialmente installato".

La mia soluzione era andare a - Preferenze / Aspetti e comportamento / Impostazioni di sistema / SDK Android e controllare lo stato. Se è "parzialmente installato", è necessario disinstallarlo e reinstallarlo. (Deseleziona la casella di controllo e premi Applica; verrà disinstallato; quindi puoi selezionare la casella e installarlo di nuovo) Ha funzionato per me. Se vai a una versione inferiore (come la 23), devi modificare la variabile buildToolsVersion in "23.0.0" nel build.gradle.


1
Il mio dice ancora "parzialmente installato" dopo la reinstallazione.
Andrew

Anche il mio "parzialmente installato" dopo la reinstallazione. @Andrew hai trovato qualche soluzione dopo?
mythicalcoder

@Maven per me, si è scoperto che il mio problema era che non stavo selezionando la variante di build corretta quando ho provato a creare l'app.
Andrew

0

Recentemente ho dovuto affrontare lo stesso problema. Prova a modificare il livello di anteprima dell'API su 23 o inferiore. Ha funzionato per me.


0

Avevo affrontato lo stesso problema. Assicurati di eseguire il rendering del layout XML per la versione SDK compilata (non deve essere maggiore). Significa che dovrai affrontare questo problema se stai compilando il codice utilizzando Targeted SDK versione 23 e stai tentando di eseguire il rendering dell'XML nella versione 24 dell'SDK.


0

Ci sono diverse cose da ricordare quando si imposta STUDIO_JDK su Mac OS:

  • per impostazione predefinita, Java 1.6 di Apple viene utilizzato per avviare Android Studio
  • quando STUDIO_JDK è impostato su Java di Oracle, verrà utilizzato da Android Studio per l'esecuzione

La differenza tra due è che Java IMO di Apple fornisce un antialiasing dei caratteri migliore e migliore nell'IDE.

Una risposta qui fa riferimento a un bug in Android Studio relativo all'antialiasing dei caratteri. Il ticket è già chiuso ma il rendering è ancora diverso per Apple Java e Oracle SDK (ho v1.8.0_102). E il primo ha ancora una percezione migliore dell'ultimo.


0

prova ad utilizzare nel progetto Java 1.8 - scarica l'ultima versione di JDK e installala (se JSK è assente)

Quindi aggiungi a build.gradle queste righe android {... // Configure solo per ogni modulo che utilizza le funzionalità del linguaggio // Java 8 (nel codice sorgente o // tramite dipendenze). compileOptions {sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8} // Per i progetti Kotlin kotlinOptions {jvmTarget = "1.8"}}


-1

macchina: windows8 64 bit nel mio caso il jdk1.7 che avevo installato era a 32 bit, quindi stavo usando studio.exe (32 bit) quindi anche quando ho scaricato il nuovo jdk1.8 (64 bit) l'istanza di studio che stavo usando (32 bit) non poteva ' t rilevarlo, ma quando ho disinstallato il vecchio jdk e ho provato a rieseguire studio.exe mi è stato detto di installare un jdk a 32 bit. quindi ho eseguito studio64.exe e ha funzionato senza problemi. assicurati di avere il percorso corretto nelle tue variabili d'ambiente. applausi androide N


-1

Assicurati di aver installato jdk per x64 e non x84 all'avvio di Android Studio (x64)

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.