Un aperçu des mises à jour Android du point de vue d'un développeur

Il n'y a pas de code sans erreurs. Peter Norton a déclaré: "Il y a une place dans le musée pour le code idéal: toutes sortes d'antiquités y sont valorisées." Et pour corriger les erreurs - il y a des mises à jour.

Je voudrais partager mon point de vue sur les mises à jour du point de vue du développeur d'exécution Android. Une partie de notre grande équipe est située en Russie, je suis impliqué dans le sous-système Java, optimisant la machine virtuelle et corrigeant les problèmes mineurs. Notre domaine de responsabilité est tout ce qui est au-dessus du cœur et en dessous des applications. Nous voulons atteindre une efficacité d'application maximale, y compris l'efficacité énergétique. Il s'agit d'une division de Samsung qui n'est pas visible pour l'utilisateur, mais très importante, car une erreur dans cette couche conduit au comportement incorrect de nombreuses applications.

Aujourd'hui, nous allons parler de la façon dont la mise à jour du système Android est actuellement organisée, quelles sont les opinions des fournisseurs à cet égard et quelles nouvelles tendances sont observées dans les années à venir. Ainsi que des conseils pour les utilisateurs: la fréquence de mise à jour, les correctifs à installer et comment aider les développeurs à trouver les bogues plus rapidement.


Source - xkcd

Comment mettre à jour


Il y a un problème, c'est qu'un grand nombre d'utilisateurs, comme il s'est avéré, ne mettent pas du tout leur téléphone à jour après l'achat. De nombreuses erreurs ne se seraient pas produites si les utilisateurs avaient mis à jour leur téléphone à temps. Il y a quelques années, les mises à jour n'étaient pas si fréquentes, il fallait mettre beaucoup de coches, cliquer périodiquement sur le bouton de mise à jour. Maintenant, dans les versions modernes d'Android, tout est assez simple, il suffit de cocher la case lors de l'achat d'un téléphone, et il sera mis à jour.

Si vous désactivez les mises à jour, nous ne recevons pas la correction des erreurs critiques. Oui, des applications individuelles peuvent être mises à jour via Google Play, mais de graves erreurs, notamment en matière de sécurité, ne sont pas corrigées, et certaines personnes qui n'ont pas appuyé sur ce bouton ou ne savent pas comment procéder continuent de se plaindre d'erreurs d'application.

En outre, le moment est assez intéressant de voir comment le fournisseur peut affecter l'utilisation des dernières images du système d'exploitation uniquement. Par exemple, les appareils Samsung au cours des dernières années ont une fonctionnalité telle que la prévention du retour en arrière: des fusibles matériels qui codent la version la moins acceptable du système d'exploitation. Les versions plus anciennes peuvent contenir des vulnérabilités connues, vous ne pouvez donc pas télécharger les anciens systèmes d'exploitation sur votre téléphone.

Mises à jour d'entreprise


Le marché B2B a ses propres caractéristiques. Là, vous pouvez mettre à jour uniquement sur la recommandation et sous la direction stricte des services informatiques et SI. En entreprise, les utilisateurs doivent écouter attentivement les recommandations des services informatiques et des services informatiques pour utiliser des solutions afin de minimiser les risques. Par exemple, Samsung Knox E-FOTA .


Là, la fonctionnalité est:

  1. Mettre à jour de manière sélective une liste spécifique d'appareils
  2. Contrôler la liste des firmwares utilisés par l'entreprise
  3. Calendrier de mise à jour selon le calendrier de travail

À quoi ressembleront les mises à jour à l'avenir


Maintenant, il y a une tendance à la modularisation d'Android. À long terme, Google développe un nouveau système d'exploitation Fuchsia, il est encore assez grossier, mais les principes qui y sont définis évoluent déjà lentement vers Android. L'une des choses est la modularisation. À partir d'un système d'exploitation monolithique, certains composants se distinguent et peuvent être mis à jour indépendamment via Google Play, tout comme les applications. Google a pris cette mesure car ils ne sont pas non plus satisfaits de la situation où les gens ne mettent pas de mises à jour, et ils essaient de réduire la fragmentation de leurs appareils afin que le composant soit moins lié au fournisseur et plus à Google. L'utilisateur moyen ne sait pas ce qu'est Android Runtime et dit: «Voulez-vous télécharger la nouvelle version d'Android Runtime?» semble un peu idiot. Par conséquent, Google introduit un système de mise à jour invisible. En principe, il existe depuis longtemps, par exemple pour GMS (Google Mobile Services), ce système est basé sur des plugins, et là les plugins sont mis à jour de manière invisible. Google met en œuvre le même principe pour les composants Android de base. Autrement dit, à un moment donné, nous aurons un système d'exploitation qui mettra rarement à jour le noyau, mais en fait, il sera souvent mis à jour dans ses sous-systèmes. Vous n'aurez même pas besoin de redémarrer le téléphone. C'est maintenant la période de transition. Le système monolithique a ses avantages et ses inconvénients (nous rappelons la controverse entre Torvalds et Tanenbaum il y a 27 ans), mais maintenant Google est passé à l'architecture micro-noyau et à la mise à jour indépendante des composants.

Les développeurs d'applications aimeraient avoir un système stable et moins de fragmentation. Mais ce n'est pas toujours un avantage pour les fabricants de téléphones, car la réduction de la fragmentation conduit à moins de différenciation, car nous ne pouvons plus implémenter de nouvelles optimisations dans ce composant si la mise à jour provient de Google Play. C'est l'autre côté de la médaille. Et l'utilisateur sera bientôt libéré de la nécessité de se demander s'il doit mettre à jour tel ou tel composant. À l'avenir, Google rendra le système tel que si vous achetez un téléphone et connectez Google Play, vous vous abonnez automatiquement à toutes les mises à jour.

Comment aider les développeurs


Les commentaires des utilisateurs sont très importants, vous devez cocher la case pour les envoyer automatiquement. Certains problèmes peuvent être résolus simplement avec une petite mise à jour du système d'exploitation. Sur la base des commentaires, Samsung décide exactement ce qui doit être corrigé et quels utilisateurs ne sont pas satisfaits, par exemple, il suit l'heure de début de l'application - bien sûr, si la personne a accepté d'envoyer ces données et l'a cochée.

Donc, pour résumer, ce que nous, en tant que développeurs, attendons de l'utilisateur:

  • Assurez-vous d'installer les mises à jour de sécurité et faites-le immédiatement
  • Envoyez des commentaires et n'hésitez pas à signaler que quelque chose ne fonctionne pas
  • Si vous êtes un utilisateur d'entreprise, suivez les règles adoptées par votre entreprise

Publié par: Ivan Maidansky,
Ingénieur logiciel expert
AI Compiler Lab
Samsung Research Center en Russie

Source: https://habr.com/ru/post/fr472384/


All Articles