2015-07-21 12 views
19

Ho appena scaricato JDK 1.8.0_51 dal mio precedente JDK 1.8.0_33 perché avevo problemi. Essendoci qualche soluzione per utilizzare Jdk 8 con Android, mi chiedevo solo se Google avesse già aggiunto un supporto completo al JDK nello studio Android? o dovrei semplicemente usare JDK 1.7? consiglio sarà molto apprezzatoJDK 1.8 è completamente supportato da Android Studio?

+2

Ho solo Java 8 e Android Studio qui. Nessun problema finora. Ma non usare (quando sviluppi App Android) le funzionalità di Java 8 come Lambda. Non funzionerà ancora. – Geros

+0

Grazie che userò 7. –

risposta

9

Si dovrebbe solo utilizzare JDK 1.7. Ci sono alcune funzionalità in JDK 8 che non sono ancora supportate.

+1

Qualche aggiornamento a questo un anno e mezzo dopo? –

+1

@JoshPinter È possibile utilizzare JDK 8 ma, a meno che l'app Android non sia destinata all'SDK 23 e versioni successive, non è necessario utilizzare JDK 8. È possibile utilizzare Java 8 _can_ se si abilita "Jack and Jill" ma, come ho detto, richiede un _minimum_ target di 23. – d0nut

+0

Grazie. Sono andato giù per quella strada e ho incontrato problemi con Jack e Jill che hanno causato il crash della mia app. Ho dovuto aumentare anche la dimensione dell'heap e un sacco di altre cose. Era decisamente non ne valeva la pena. :) –

2

Utilizzare Java 1.7 o Java 1.6 Ho avuto problemi da solo con Android 4 e Java 7, quindi ho usato 1.6 e tutti i problemi dove sono andati.

penso che sarà ottenuto meno problemi quando si utilizza 1,7 invece di 1,8

5

È possibile utilizzare java 1.8, ma non utilizzare la funzione 1.8 perché ci sono alcune funzionalità in Java 1.8 che non sono supportate da ora.

+3

ad esempio, non credo che java.time sia supportato in Android Studio. – JDOaktown

5

L'utilizzo di JDK 1.8 è OK e nulla vi disturberà, ad eccezione di Android Studio potrebbe spesso fornire il controllo di runtime per suggerirvi di utilizzare la funzionalità di JDK 1.8 come lambda. Ma puoi andare su Impostazioni-> Editor-> Ispezioni-> Problemi di livello linguistico Java/aiuti alla migrazione e chiudere ciò che vuoi.

0

ho iniziato a ricevere questo errore dopo l'aggiornamento Java per 1,8

errore: Esecuzione non riuscita per l'attività ': app: processDebugResources'.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\whatever\AppData\Local\Android\sdk\build-tools\23.0.1\aapt.exe'' finished with non-zero exit value 1

+0

Se ottengo questo finito con valore di uscita diverso da zero 1, vado sempre su Build e (progetto pulito). Risolve sempre il problema per me. –

+0

Grazie per la risposta, ma che non ha aiutato ho dovuto tornare a Java 1.7 finalmente –

14

ora è possibile utilizzare java8 con Android

aggiungere queste righe in voi build.gradle file di

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
    } 

riferiscono questo documento http://developer.android.com/intl/es/preview/j8-jack.html

Assicurarsi di abilitare Jack pure con :

android { 
    //... 

    defaultConfig { 
    //... 

    // Required to use Java 8. 
    jackOptions { 
    enabled true 
    } 

} 

Inoltre, è necessario essere utilizzando la versione 24 o superiore del SDK Android creare strumenti:

android { 
    //... 

    buildToolsVersion "25.0.2" 

} 
+2

non solo è possibile utilizzare java8 ora, ma è richiesto per API 24 (Nougat) o più recente – yuval

0

In realtà si ottiene ogni sorta di folle Gradle errori quando si cerca di costruire progetti Studio Android con Java 8, come

2016-04-10 17: 50: 49,401 [1624477] WARN - nal.AbstractExternalSystemTask - Gradle 2.10 richiede Java 6 o successivo per l'esecuzione. La build è attualmente configurata per l'utilizzo di Java 5. com.intellij.openapi.externalSystem.model.ExternalSystemException: Gradle 2.10 richiede Java 6 o versioni successive per l'esecuzione. La build è attualmente configurata per l'utilizzo di Java 5.

Non appena ho cambiato il JDK predefinito in Java 7 funziona correttamente. Sembra che l'esecuzione di Android Studio stesso con Java SE 8 sia tollerata, ma la creazione di app Android via Gradle funziona perfettamente con Java 7.

1

Se in precedenza hai utilizzato le opzioni JACK, che sono obsolete da Android Studio 3.0.0, la migrazione e utilizzando le Java 8 funzionalità del linguaggio supportate sarebbe semplice come rimozione:

jackOptions { enabled true }

da build.gradle fascicolo del app e keepping la configurazione come segue:

android { 
    ... 
    compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
    } 
} 

Per i dettagli, seguire il collegamento this.

Problemi correlati