Android 13 : La migration, comment ça se passe ?

25.Août.22

Une nouvelle version d’Android, la version 13, est annoncée pour le début de l’automne. Sans surprise, puisque c’est désormais le rituel de fin d’année.

Cependant, l’arrivée d’une nouvelle version d’Android provoque toujours une certaine effervescence au sein de la communauté des développeurs mobiles.

Bien sûr, il y a la curiosité suscitée par les nouvelles fonctionnalités attendues et les rumeurs qui les accompagnent… Même s’il n’y a que rarement de grandes surprises ! C’est le cas de cette nouvelle version dont les avancées majeures, côté utilisateur, concernent entre autre :

  • une plus grande transparence et un renforcement de la gestion de la protection de la vie privée ;
  • un système renforcé de permission pour recevoir des notifications ;
  • un accent mis sur la personnalisation, notamment grâce au paramétrage de l’affichage (modes sombre / clair, police et style des textes) ;
  • la gestion de l’authentification cross canal ;
  • etc.

Du côté des développeurs, l’arrivée de cette nouvelle version avec son lot d’évolutions induit de mettre en œuvre des tests pour valider le bon fonctionnement des applications actuellement en production chez nos clients. Il s’agit d’anticiper les problématiques qui pourraient apparaître en lien avec la migration.

Pour tester et débugger les apps, les développeurs Android bénéficient du programme de bêta test que Google ouvre environ 6 mois avant la mise à disposition de la nouvelle version de son système d’exploitation.

Pour Android 13, il y a eu plusieurs bêtas successives ; par mesure de sécurité, nous avons commencé à tester les app en production à partir de la 4ème bêta, qui est la première que nous avons jugée stable.

Il faut savoir qu’il ne suffit pas de télécharger la bêta d’Android sur un smartphone, d’y installer l’app à tester et de regarder si elle fonctionne. Ce serait trop simple !

Dans cet article, nous vous dévoilons les coulisses d’une migration.

Mise à jour de la couche « fabricant » du système d’exploitation

Pour commencer, il faut préciser que l’arrivée d’une nouvelle version d’Android implique aussi la mise à jour de la couche « fabricant » du système d’exploitation.

Chaque constructeur de smartphone développe en effet sa propre adaptation qui vient s’ajouter à la couche « bas niveau » de Google.

Bien sûr, les premiers téléphones à être diffusés sur le marché disposant de la nouvelle version d’Android sont les Pixel de Google. Dans le cas d’Android 13, les téléphones des autres fabricants sortiront d’ici (ou pour) Noël.

La difficulté pour les app fonctionnant sous Android (qu’on ne retrouve évidemment pas de manière comparable pour les app sous iOS), c’est le nombre de fabricants et de modèles de smartphones existants ! Cela complexifie les tests liés à la migration.

Migration vers Android 13 : plusieurs étapes de tests

Étape 1 : Choisir le smartphone de test

Chez InfleXsys, nos tests ont été réalisés sur un Pixel 5. Pourquoi ?

Parce que :

  • ce smartphone ne comporte aucune surcouche fabricant, puisque c’est un smartphone Google ;
  • c’est un téléphone qui convient pour faire les tests Android 13 car il supporte le downgrade (c’est-à-dire une régression de version), opération nécessaire pour réaliser les tests, comme nous allons le voir un peu plus tard dans cet article. Voir ici la liste des téléphones permettant le downgrade.

Sur ce smartphone, on peut donc tester la montée de version avant la diffusion d’Android 13, pour détecter d’éventuels problèmes.

Comment ça se passe ?

 

Étape 2 : Faire fonctionner l’app en mode « compatibilité » Android 13 (et vérifier la non-régression)

Une première famille de tests consiste à faire fonctionner l’appli existante en mode « compatibilité » Android 13. On vérifie alors que rien ne s’est dégradé dans cette simulation.

On prend donc l’application « buildée » en Android 12 et on la met sur Android 13 ; puis, on regarde si elle continue à fonctionner.

Pour autant, si tout se passe bien, il ne s’agit que d’une simulation. Une deuxième famille de tests s’avère donc nécessaire.

 

Étape 3 : Tester les problèmes potentiels liés à de nouvelles fonctionnalités d’Android 13

Ici, il s’agit de s’assurer que le code sait s’adapter à cette nouvelle version du système d’exploitation.

On compile l’app en ciblant Android 13 pour tester les fonctionnalités qui n’existent pas sur Android 12. Cela permet d’estimer quels sont le coût et la charge de travail qu’induit la migration pour que l’appli fonctionne compilée dans le nouveau mode.

Pour identifier ces problèmes potentiels, les développeurs se basent sur des documents de migration fournis par Google.

 

Étape 4 : Mesurer l’impact de la migration de l’OS

Certains bugs peuvent n’apparaître qu’avec certaines versions d’OS.

On est donc obligé de tester la migration d’une version d’Android vers une autre (migration OTA, c’est-à-dire à distance).

Pour ce faire, un downgrade d’OS (c’est-à-dire un retour à une ancienne version d’OS) est nécessaire sur le terminal de test.

Or, peu de téléphones acceptent d’être forcés à revenir à une version antérieure. Le Pixel, nous l’avons vu précédemment, le permet.

Le principal inconvénient de ces downgrades, c’est qu’ils prennent beaucoup de temps : car non seulement, il faut revenir à une ancienne version de l’OS (en flashant le téléphone), mais il faut aussi mettre à jour tous les drivers de tous les composants !!

À titre d’information, cela nous a pris 30 à 45 minutes pour flasher une version d’OS, dont :

  • 20 à 30 minutes juste pour l’OS ;
  • et le reste pour toutes les infos complémentaires nécessaires à la réalisation du test (configuration de compte Google, paramétrage réseau, setup, mise en œuvre du mode développeur…)

Il faut savoir également qu’on ne peut pas revenir sur de très anciennes versions : seulement 2 versions antérieures d’Android sont garanties par Google (à partir du numéro de version de base pour lequel le smartphone est sorti). Cela inclut toutes les petites versions intermédiaires dites « de sécurité ».

Par exemple, pour le Pixel 5 sur lequel nous avons testé Android 13, il s’agit des versions 11 et 12 (ainsi que toutes les versions intermédiaires de sécurité) ! Cela signifie aussi que ce changement de version ne sera proposé aux utilisateurs que pour certains smartphones et plages de versions.

Pour conclure…

Si, en tant que développeurs, nous nous devons de suivre la cadence de mise à jour des systèmes d’exploitation pour offrir une qualité de service constante à nos clients, il est plus difficile pour les utilisateurs de s’y tenir :

  • Android 12 n’a que 9 mois d’existence et ne serait installé que sur 13,3%* des équipements ;
  • Android 11 reste la version la plus populaire (son taux d’installation serait de 27%).

On voit également un intérêt croissant des Français pour des smartphones reconditionnés aux dépens des appareils neufs. Cela mènera peut-être les fabricants et fournisseurs de systèmes d’exploitation à s’engager à garantir un plus grand nombre de mises à jour majeures et de correctifs de sécurité.

Pour en savoir +

*Source : Chiffres 9to5Google, début août 2022

 

 

Vous souhaitez réagir ou en savoir plus ?
Prenons rendez-vous pour échanger autour d’un café…  et en attendant, découvrez notre configurateur en libre accès pour cadrer votre projet !