Aller au contenu
Narvy

Niveau d'API cible Google Play : API 36 exigée

Depuis le 31 août 2026, Google Play n'accepte les nouvelles applications et les mises à jour que si leur targetSdkVersion vaut au moins 36 (Wear OS et Android Automotive OS : 35, Android TV et Android XR : 34). Augmentez targetSdk, traitez les changements de comportement de chaque version d'Android sautée, recompilez, renvoyez.

Play Console, à l'envoi
Your app currently targets API level 35 and must target at least API level 36 to ensure it is built on the latest APIs optimized for security and performance. Change your app's target API level to at least 36.

Ce que cela signifie

targetSdkVersion indique à Android pour quelle version du système l'application a été testée. Google relève chaque année le minimum accepté pour que les applications du store adoptent les nouveaux comportements de sécurité et de confidentialité. L'envoi est refusé dès que la valeur du manifeste fusionné est inférieure au minimum, quel que soit minSdkVersion.

Le minimum dépend du type d'appareil : 36 pour les téléphones et tablettes, 35 pour Wear OS et Android Automotive OS, 34 pour Android TV et Android XR.

Échéance

Depuis le 31 août 2026, les nouvelles applications et les mises à jour doivent cibler l'API 36 ou plus pour être soumises sur Google Play. Google permet de demander une prolongation jusqu'au 1er novembre 2026 si vous avez besoin de plus de temps. La règle précédente (API 35, depuis le 31 août 2025) ne s'applique plus aux nouveaux envois.

Corriger

1. Augmenter targetSdk et compileSdk

app/build.gradle.kts
android {
    compileSdk = 36
    defaultConfig {
        targetSdk = 36
    }
}

Utilisez une version du plugin Android Gradle et d'Android Studio qui prend en charge compileSdk 36 ; la compilation avertit quand le plugin est trop ancien pour le SDK. Flutter, React Native et les autres frameworks fixent ces valeurs dans leurs propres fichiers Gradle : modifiez le nombre à cet endroit, ou mettez à jour le framework vers une version dont la valeur par défaut est suffisante.

2. Passer en revue chaque version d'Android sautée

Chaque version d'Android apporte des changements de comportement qui ne s'appliquent qu'une fois ciblée (types de services de premier plan à l'API 34, android:exported à l'API 31, etc.). Lisez la page des changements de comportement de chaque version entre votre cible actuelle et 36, et testez sur un appareil ou un émulateur en API 36.

3. Vérifier le manifeste fusionné

Une bibliothèque ne peut pas abaisser votre cible, mais un targetSdkVersion oublié dans AndroidManifest.xml ou un flavor peut le faire. Ouvrez l'onglet Merged Manifest d'Android Studio, ou lisez la valeur dans le fichier compilé avec aapt2 dump badging app.apk.

Vérifier avant de soumettre

Déposez l'APK, AAB ou lot d'APK fractionnés (XAPK, APKS, APKM) sur la page de contrôle des stores. Elle exécute PLAY-TARGET-SDK avec les dates de cette page, puis supprime le fichier : rien de l'application n'est conservé. Le même moteur tourne hors ligne dans la CLI Narvy et renvoie le code 1 quand un point bloquant est trouvé, ce qui permet de bloquer un job de CI.

Hors ligne, depuis un terminal (narvy-cli 1.2.0 ou plus)
narvy store-check app-release.aab --lang fr

Contrôler un build dans le navigateur

Questions fréquentes

Le contrôle utilise-t-il le minimum Wear OS ou TV pour mon application ?

Il lit les entrées uses-feature obligatoires du manifeste : android.hardware.type.watch sélectionne Wear OS, android.hardware.type.automotive Automotive, android.software.leanback ou android.hardware.type.television la TV, sinon la règle téléphone et tablette s'applique. Une application qui exige une fonctionnalité XR est signalée comme non déterminée, car la règle XR ne peut pas être déduite du seul manifeste.

Puis-je encore publier pendant la mise à jour ?

Google propose une prolongation jusqu'au 1er novembre 2026 aux développeurs qui ont besoin de plus de temps ; elle se demande depuis la Play Console. Après cette date, un envoi sous l'API 36 est refusé.

minSdkVersion est-il concerné ?

Non. La règle porte uniquement sur targetSdkVersion. Vous pouvez continuer à prendre en charge d'anciennes versions d'Android avec un minSdkVersion bas.