À chaque version d'Android, nous introduisons de nouvelles fonctionnalités et des modifications de comportement visant à rendre Android plus utile, plus sécurisé et plus performant. Dans de nombreux cas, votre application fonctionnera exactement comme prévu, tandis que dans d'autres cas, vous devrez peut-être la modifier pour l'adapter aux changements de la plate-forme.
Étant donné que les utilisateurs peuvent commencer à recevoir la nouvelle plate-forme dès que le code source est publié sur AOSP (projet Android Open Source), il est important que les applications soient prêtes, fonctionnent comme prévu et exploitent idéalement les nouvelles fonctionnalités et API pour tirer le meilleur parti de la nouvelle plate-forme.
Ce document offre une vue d'ensemble des phases de développement et de test types. Il peut vous aider à élaborer un plan d'aptitude adapté au calendrier de lancement de la plate-forme et à offrir une expérience de qualité à vos utilisateurs sur Android 11.
Une migration type comporte deux phases pouvant être simultanées :
- Assurer la compatibilité des applications (avec la version finale d'Android 11)
- Cibler les nouvelles fonctionnalités et API de la plate-forme (dès que possible après la version finale)
Cette page décrit les étapes générales pour chacune de ces phases. Lorsque vous êtes prêt à commencer, consultez la section Obtenir Android 11.
Assurer la compatibilité avec Android 11
Il est important de tester les fonctionnalités de votre application existante sur Android 11 afin de garantir une expérience optimale aux utilisateurs qui effectuent la mise à jour vers la dernière version d'Android. Certaines modifications de la plate-forme peuvent affecter le comportement de votre application. Il est donc important de tester votre application de manière anticipée et approfondie, puis d'y apporter les ajustements nécessaires.
En règle générale, vous pouvez ajuster votre application et publier une mise à jour sans avoir à modifier le targetSdkVersion
de l'application. De même, vous n'avez pas besoin d'utiliser de nouvelles API ni de modifier le compileSdkVersion
de l'application. Toutefois, cela peut dépendre de la façon dont votre application est compilée et des fonctionnalités de la plate-forme qu'elle utilise. Les sections suivantes décrivent les étapes à suivre.
Avant de commencer, veillez à vous familiariser avec les modifications de comportement qui peuvent affecter votre application, même si vous ne modifiez pas son targetSdkVersion
.
Effectuer des tests de compatibilité
Dans la plupart des cas, les tests de compatibilité avec Android 11 sont semblables aux types de tests que vous effectuez normalement lorsque vous préparez la publication de votre application. C'est le moment de consulter les consignes fondamentales relatives à la qualité des applications et les bonnes pratiques de test.
Il vous suffit d'installer votre application publiée sur un appareil équipé d'Android 11, et de parcourir tous les flux et toutes les fonctionnalités à la recherche de problèmes. Pour vous aider à réaliser vos tests, examinez les modifications de comportement introduites dans Android 11 qui peuvent affecter le fonctionnement de votre application ou la faire planter. Veillez en particulier à examiner les principales modifications apportées à la confidentialité et à tester les correctifs que vous mettez en œuvre pour vous adapter à ces changements.
Veillez également à examiner et à tester les utilisations d'interfaces non SDK limitées, et à passer à des SDK publics ou à des équivalents NDK à la place. Surveillez les avertissements Logcat qui mettent en évidence ces accès et utilisez la méthode StrictMode detectNonSdkApiUsage()
pour les intercepter par programmation.
Enfin, veillez à tester complètement les bibliothèques et les SDK de votre application pour vous assurer qu'ils fonctionnent comme prévu sur Android 11, et suivez les bonnes pratiques en matière de confidentialité, de performances, d'expérience utilisateur, de gestion des données et d'autorisations. Si vous rencontrez un problème, essayez d'installer la dernière version du SDK ou contactez le développeur du SDK pour obtenir de l'aide.
Une fois les tests terminés et les mises à jour effectuées, nous vous recommandons de publier immédiatement votre application compatible. Cela permet à vos utilisateurs de tester l'application plus tôt et vous aide à faciliter la transition lorsqu'ils passent à Android 11.
Mettre à jour le ciblage de l'application et intégrer de nouvelles API
Une fois que vous avez publié la version compatible de votre application comme décrit précédemment, l'étape suivante consiste à ajouter la prise en charge complète d'Android 11 en mettant à jour sa targetSdkVersion
et en tirant parti des nouvelles API et fonctionnalités Android 11. Vous pouvez effectuer ces opérations dès que vous le souhaitez, en tenant compte des exigences de Google Play pour cibler la nouvelle plate-forme.
Pour assurer une compatibilité totale avec Android 11, nous vous recommandons d'examiner les modifications de comportement qui s'appliquent aux applications ciblant Android 11. Ces modifications de comportement ciblées peuvent entraîner des problèmes fonctionnels que vous devrez peut-être résoudre. Dans certains cas, elles peuvent nécessiter un développement important. Il est donc préférable de les connaître tôt. Pour vous aider à évaluer les impacts, vous pouvez également utiliser les boutons d'activation/de désactivation de la compatibilité afin de tester votre application actuelle avec les modifications sélectionnées.
Les étapes suivantes décrivent comment assurer une compatibilité complète avec Android 11.
Obtenir le SDK, modifier le ciblage et compiler avec de nouvelles API
Pour commencer à bénéficier de la compatibilité complète avec Android 11, commencez par télécharger le SDK Android 11 (et tout autre outil nécessaire) dans Android Studio.
Remplacez ensuite targetSdkVersion
et compileSdkVersion
par "30"
, puis recompilez l'application. Pour en savoir plus, consultez le guide de configuration.
Tester votre application Android 11
Une fois l'application compilée et installée sur un appareil équipé d'Android 11, commencez les tests pour vous assurer qu'elle fonctionne correctement lorsque vous ciblez Android 11. Certains changements de comportement ne s'appliquent que lorsque votre application cible la nouvelle plate-forme. Nous vous recommandons donc de consulter ces modifications avant de commencer.
Comme pour les tests de compatibilité de base, parcourez tous les flux et toutes les fonctionnalités à la recherche de problèmes. Axez vos tests sur les modifications de comportement pour les applications ciblant Android 11. En particulier, veillez à examiner les modifications apportées à la confidentialité et à tester les correctifs que vous mettez en œuvre pour vous adapter à ces changements. Nous vous conseillons également de vérifier que votre application respecte les consignes fondamentales relatives à la qualité des applications et les bonnes pratiques en matière de test.
Assurez-vous d'examiner et de tester les utilisations d'interfaces non SDK limitées qui peuvent s'appliquer. Surveillez les avertissements Logcat qui mettent en évidence ces accès et utilisez la méthode StrictMode detectNonSdkApiUsage()
pour les intercepter par programmation.
Enfin, veillez à tester complètement les bibliothèques et les SDK de votre application pour vous assurer qu'ils fonctionnent comme prévu sur Android 11, et suivez les bonnes pratiques en matière de confidentialité, de performances, d'expérience utilisateur, de gestion des données et d'autorisations. Si vous rencontrez un problème, essayez d'installer la dernière version du SDK ou contactez le développeur du SDK pour obtenir de l'aide.
Tester à l'aide des boutons d'activation/de désactivation de la compatibilité avec les applications
Android 11 introduit une nouvelle fonctionnalité pour les développeurs qui permet de tester plus facilement votre application avec des modifications de comportement ciblées. Pour une application débogable, les boutons d'activation/de désactivation vous permettent:
- Tester les modifications ciblées sans réellement modifier la targetSdkVersion de l'application. Vous pouvez utiliser les boutons d'activation/de désactivation pour forcer l'activation de certaines modifications du comportement afin d'évaluer l'impact sur votre application.
- Axer votre test sur des modifications spécifiques. Plutôt que d'avoir à traiter toutes les modifications ciblées en même temps, les boutons d'activation/de désactivation vous permettent de désactiver toutes les modifications ciblées, à l'exception de celles que vous souhaitez tester.
- Gérer les boutons d'activation/de désactivation via adb. Vous pouvez utiliser les commandes adb pour activer et désactiver les modifications à activer/désactiver dans votre environnement de test automatisé.
- Déboguer plus rapidement grâce aux ID de modification standards. Les modifications pouvant être activées/désactivées possèdent chacune un ID et un nom uniques que vous pouvez utiliser pour déboguer rapidement l'origine du problème dans la sortie du journal.
Lorsque vous préparez la modification du ciblage de votre application ou que vous développez activement la compatibilité avec Android 11, les boutons d'activation/de désactivation peuvent vous aider. Pour en savoir plus, consultez la documentation correspondante.