Pour Android, le terme compatibilité de l'application signifie que votre application s'exécute correctement sur une version spécifique de la plate-forme (en général la dernière version). À chaque nouvelle version, nous effectuons des changements complets qui améliorent la confidentialité et la sécurité, et nous appliquons des modifications qui font évoluer l'expérience utilisateur globale sur l'ensemble du système d'exploitation. Ces modifications peuvent parfois avoir une incidence sur vos applications. Il est donc important d'examiner les changements de comportement inclus dans chaque version publiée, de les tester et de publier des mises à jour de compatibilité pour vos utilisateurs.
Pourquoi la compatibilité des applications est-elle importante ?
La compatibilité des applications commence à concerner vos utilisateurs dès qu'ils passent à la dernière version d'Android. C'est par exemple le cas lorsqu'ils achètent un nouvel appareil ou qu'ils installent une mise à jour sur leur appareil actuel. Ils ont hâte de découvrir la dernière version d'Android et souhaitent l'essayer avec leurs applications préférées. Si leurs applications ne fonctionnent pas correctement, cela peut causer des problèmes majeurs, tant pour eux que pour vous.
Types de changements de comportement de la plate-forme
Deux types de modifications différents peuvent concerner votre application lorsqu'elle est exécutée sur une nouvelle version de la plate-forme :
Modifications pour toutes les applications
Ces modifications concernent toutes les applications exécutées sur cette version d'Android, quel que soit la targetSdkVersion
d'une application.
Vous devez tester de manière proactive la compatibilité de votre application avec ces modifications lors de la preview développeur et des versions bêta de chaque nouvelle version d'Android. Les mises à jour de Pixel et d'autres appareils sont lancées dès qu'une nouvelle version d'Android est disponible dans sa forme finale Android Open Source Project (AOSP). Ainsi, lorsque vous testez ces applications de manière proactive, vous vous assurez que vos utilisateurs peuvent passer facilement à la dernière version d'Android sur ces appareils.
Modifications ciblées
Ces modifications ne concernent que les applications qui ciblent cette version d'Android.
Pour ces modifications, effectuez des tests de compatibilité lorsque vous vous préparez à cibler la dernière version stable de l'API, qui est Android 15 (niveau d'API 35). Même si vous ne prévoyez pas de cibler une nouvelle version d'Android dans l'immédiat, vous adapter à ces modifications peut nécessiter un développement important. Vous devez donc vous renseigner à leur sujet le plus tôt possible, idéalement lors de la preview développeur et des versions bêta de chaque nouvelle version d'Android. Vous pouvez ainsi effectuer des tests préliminaires et formuler des commentaires.
Outils de framework de compatibilité
Pour vous aider à tester la compatibilité, nous incluons autant de modifications destructives que possible à chaque version du framework de compatibilité. Vous pouvez activer ou désactiver les modifications apportées au framework de compatibilité, ce qui vous permet d'activer ou de désactiver chaque modification depuis les options pour les développeurs ou depuis ADB. Lorsque vous utilisez le framework de compatibilité, vous n'avez pas besoin de modifier le targetSdkVersion
de votre application ni de la recompiler pour les tests de base.
Pour en savoir plus, consultez Tester et déboguer les changements de comportement de la plate-forme dans votre application.
Restrictions concernant les interfaces non SDK
Nous cherchons à ce que les développeurs se détournent progressivement des API non SDK. C'est pourquoi nous mettons à jour les listes d'interfaces non SDK limitées pour chaque version d'Android. Vos commentaires et vos demandes d'API publiques équivalentes sont toujours les bienvenus.
Versions de la plate-forme
En savoir plus sur les dernières versions d'Android :
- Android 15 (niveau d'API 35)
- Android 14 (niveau d'API 34)
- Android 13 (niveau d'API 33)
- Android 12 (niveaux d'API 31, 32)
- Android 11 (niveau d'API 30)