web-dev-qa-db-fra.com

JDK 1.8 est-il entièrement pris en charge par Android Studio?

Je viens de télécharger JDK 1.8.0_51 à partir de mon précédent JDK 1.8.0_33 car j'avais des problèmes. Comme il existait une solution pour utiliser Jdk 8 avec Android, je me demandais si Google avait déjà ajouté une prise en charge complète du JDK dans le studio Android? ou devrais-je simplement utiliser JDK 1.7? les conseils seront très appréciés.

23
Madonah Syombua

Vous devriez juste utiliser JDK 1.7. Certaines fonctionnalités de JDK 8 ne sont pas encore prises en charge.

10
d0nut

vous pouvez maintenant utiliser Java8 avec Android

ajoutez ces lignes dans votre fichier build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }

référez-vous à cette doc http://developer.Android.com/intl/es/preview/j8-jack.html

Assurez-vous également d'activer Jack avec: 

Android {
  //...

  defaultConfig {
  //...

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

}

De plus, vous devrez utiliser la version 24 ou plus des outils de génération de SDK Android:

Android {
  //...

  buildToolsVersion "25.0.2"

}
15
Rakshit Soni

Vous pouvez utiliser Java 1.8 mais n'utilisez pas la fonctionnalité 1.8 car certaines fonctionnalités de Java 1.8 ne sont pas prises en charge pour l'instant.

5
Shakeeb Ayaz

L'utilisation de JDK 1.8 est acceptable et rien ne vous dérangera pas, à condition qu'Android Studio fournisse souvent une vérification à l'exécution pour vous suggérer d'utiliser la fonctionnalité de JDK 1.8 telle que lambda. Mais vous pouvez aller dans Paramètres-> Editeur-> Inspections-> Problèmes de niveau de langage Java/aides à la migration et fermer ce que vous voulez.

5
ywwynm

Si vous utilisiez précédemment des options JACK, obsolètes depuis Android Studio 3.0.0, la migration et l'utilisation des fonctionnalités du langage Java 8 prises en charge seraient aussi simples que suppression:

jackOptions {enabled true} </ strike>

à partir du fichier build.gradle de l'application et en conservant la configuration comme suit: 

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

Pour plus de détails, suivez this link.

3
Kreshnik

Utiliser Java 1.7 ou Java 1.6 J'avais moi-même des problèmes avec Android 4 et Java 7, j'ai donc utilisé la version 1.6 et tous les problèmes qui avaient disparu.

Je pense que vous aurez moins de problèmes si vous utilisez 1.7 au lieu de 1.8

2
Gandalf the Grey

En fait, vous obtenez toutes sortes d'erreurs Gradle délirantes lorsque vous essayez de créer des projets Android Studio avec Java 8, comme

2016-04-10 17: 50: 49,401 [1624477] WARN - nal.AbstractExternalSystemTask - Gradle 2.10 requiert Java 6 ou une version ultérieure pour s'exécuter. Votre version est actuellement configurée pour utiliser Java 5 . Com.intellij.openapi.externalSystem.model.ExternalSystemException: Gradle 2.10 nécessite Java 6 ou une version ultérieure pour s'exécuter. Votre version est actuellement configurée pour utiliser Java 5.

Dès que j'ai changé le JDK par défaut pour Java 7, cela fonctionne bien. On dirait qu'exécuter Android Studio lui-même avec Java SE 8 est toléré, mais la construction d'applications Android via Gradle avec cela ne fonctionne bien qu'avec Java 7.

0
Werner Keil

J'ai commencé à avoir cette erreur après la mise à jour de Java à 1.8

Erreur: L'exécution a échoué pour la tâche ': app: processDebugResources'.

com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: processus 'commande' C:\Utilisateurs\tout ce que\AppData\Local\Android\sdk\build-tools\23.0.1\aapt .exe '' fini avec une valeur de sortie 1 différente de zéro

0