API Java 11 ou version ultérieure disponibles via le désucrage

Android Studio permet désormais d'utiliser plusieurs API Java 11 ou version ultérieure, sans niveau d'API minimal pour votre application. Dès lors, si vous utilisez une API introduite dans Android 13 (niveau d'API 33), le code fonctionne également sur toutes les versions précédentes. La plupart des API ajoutées sur Android au fil des années sont compatibles avec Android 13. Grâce à un processus appelé désucrage d'API, le compilateur DEX (D8) vous permet d'inclure davantage d'API de langage standard dans les applications prenant en charge les anciennes versions d'Android.

La compatibilité du désucrage d'API avec Java 11 se présente sous trois formes :

  • La version minimale n'inclut que le package java.util.function et les classes de remplacement pour certaines collections simultanées de frameworks Android présentant des problèmes connus sur d'anciens appareils.
  • La version par défaut est en fait une version du désucrage de l'API Java 8 mise à niveau vers Java 11. Elle inclut les packages java.time et java.util.stream en plus de tous les éléments de la version minimale.
  • La version nio comprend le package java.nio en plus de tous les éléments de la version par défaut.

Le tableau suivant, dans lequel vous pouvez faire des recherches, indique les bibliothèques Java 11 (ou version ultérieure) disponibles lorsque vous utilisez la dernière version du plug-in Android Gradle avec la dépendance coreLibraryDesugaring définie sur com.android.tools:desugar_jdk_libs:2.0.1 (voir Désucrage d'API pour en savoir plus). Définissez cette propriété dans le fichier build.gradle