Android prend-il en charge Java 11?


Je suis nouveau dans le développement Android. Et j'ai installé eclipse, java 11 et android sdk tools sur mon ordinateur. Mais quand j'essaie de construire un projet, il est dit que pour mettre à niveau les outils. Mais j'ai installé la dernière version du sdk.

Quand je lis sur Internet, j'ai trouvé qu'Android ne prend pas entièrement en charge java SE et prend principalement en charge java SE 6 et 7. - mais c'était un ancien post .

J'ai trouvé que Android ne supporte pas java 11 complètement.

Ma question est, quelle est la version JDK qui prend pleinement en charge Android et dois-je installer 2 versions de JDK s sur mon ordinateur?

Author: Holger, 2018-11-24

4 answers

Comme le dit le document officiel:

Android Studio 3.0 et versions ultérieures prend en charge toutes les fonctionnalités du langage Java 7 et un sous-ensemble de fonctionnalités du langage Java 8 qui varient selon la version de la plate-forme

Donc, JDK 7 est entièrement pris en charge, et si vous souhaitez utiliser certaines JDK 8 fonctionnalités, vous devez Effectuer les réglages appropriés.

Voici le lien ref pour utiliser Java 8

Et android studio ne prend pas en charge la version java supérieure à 8.

 19
Author: navylover, 2020-12-10 00:14:54

Peut être ce 2 articles donnent plus de compréhension sur la situation:

Jake Wharton-Prise en charge de Java 9, 10, 11 et 12 d'Android

Jake Wharton-Prise en charge de Java 8 d'Android

Certaines fonctionnalités de java 9-12 sont également prises en charge dans Android si vous définissez des compileOptions appropriées, par exemple

compileOptions {
    targetCompatibility JavaVersion.VERSION_12
    sourceCompatibility JavaVersion.VERSION_12
}

P.S. pour java 12, vous devez définir la version "probablement la plus récente" du plugin Gradle.

 13
Author: Mike, 2020-12-23 14:22:36

Vous avez la direction de l'ajustement vers l'arrière. Android prend en charge certaines versions de Java, pas l'inverse.

Cela étant dit, Oracle Java et Android Java ne sont pas vraiment la même chose - ils n'utilisent même pas la même machine virtuelle, en fait. Ils sont développés complètement séparément.

Comme d'autres l'ont indiqué, les versions récentes d'Android prennent en charge jusqu'à Java 7 et un sous-ensemble de fonctionnalités Java 8. Les anciennes versions d'Android peuvent prendre en charge moins que cela.

 6
Author: EJoshuaS - Reinstate Monica, 2018-11-24 08:37:10

Depuis octobre 2020, de nombreuses API manquantes et versions plus récentes de Java sont désormais prises en charge via Open JDK. Quelques liens utiles que je trouve: Prise en charge des API Java plus récentes (Vidéo officielle Youtube) et API Java 8+ disponibles via desugaring . J'espère que cela peut aider quelqu'un aux prises avec la compatibilité des versions Java

 1
Author: ddsultan, 2020-10-16 11:47:39