Y a-t-il une raison technique pour laquelle la mise à jour Android est si mauvaise?

16

Y a-t-il une raison technique pour laquelle les téléphones Android sont généralement en retard par rapport à la version stable d'Android?

Cela s'applique aux deux nouveaux téléphones, par exemple lors d'un récent voyage à la boutique de téléphonie, tout était de 4.0 à 4.2.1, KitKat ne pouvait pas être vu. Et aussi les vieux téléphones, l'iPhone 4 de ma petite amie avait une mise à jour OTA vers le dernier système d'exploitation, c'est un téléphone de juillet 2010, tandis qu'un Android de juillet 2010 est essentiellement un presse-papier.

Vraisemblablement Android lui-même ne se préoccupe pas du matériel réel et parle donc au système d'exploitation via des abstractions? Je suppose que le fabricant du combiné ne fournit que les pilotes pour le matériel spécifique, donc je ne vois pas le problème avec les mises à jour OTA si l'ABI reste stable (mon téléphone ne développe pas de nouvelles fonctionnalités matérielles).

Mâtt Frëëman
la source
De toute façon, nous avons forum.xda-developers.com/…
samnaction
Les pilotes matériels sont internes au noyau et l'ABI n'est pas stable en interne . Il n'y a pas non plus de correspondance stricte entre la version Android et la version du noyau; les fabricants peuvent ou non inclure des mises à niveau du noyau avec des mises à niveau de l'espace utilisateur. S'ils le font, il n'y a pas de compatibilité binaire avec vos pilotes existants. Cependant, la majeure partie de la charge pesant sur le fabricant sera liée à l'adaptation au nouvel espace utilisateur - je ne vois pas du tout comment la nature de l'ABI est particulièrement importante ici.
goldilocks
Votre dernier paragraphe me suggère que vous avez une mauvaise compréhension de tout ce que fait Android dans les coulisses. Les abstractions et les interfaces doivent continuer à changer pour prendre en charge de nouvelles fonctionnalités matérielles, ainsi que de meilleures représentations logicielles. Vous pourriez peut-être poser une question complémentaire à ce sujet.
Dan Hulme
Sauf que l'iphone qui a été mis à jour fonctionne maintenant comme un chien et vous oblige à mettre à niveau le matériel de toute façon alors que le téléphone Android fonctionne aussi bien que jamais et n'inclut tout simplement pas de nouvelles fonctionnalités.
JamesRyan

Réponses:

18

Voir cette image publiée par HTC. Il décrit le processus de mise à jour sous une forme très détaillée:

L'anatomie d'une mise à jour Android OS

Image redimensionnée (cliquez pour voir en taille réelle)

MPeti
la source
L'édition par t0mm13b a cassé l'URL (la version user11153 était correcte). En raison de la longueur d'édition minimale de 6 caractères, je ne peux pas le corriger. Quelqu'un peut-il jeter un œil? L'URL correcte est i.stack.imgur.com/yMMX3.jpg (remarque: pas yMMX3m.jpg, qui est la vignette)
jmiserez
2
@jmiserez - J'ai transformé la petite vignette en un lien vers la version pleine taille, car cette image est assez grande pour s'afficher directement dans la réponse IMO.
Compro01
17

Les téléphones Android ont au moins 2 doigts dans le pot que les iPhones n'ont pas: le fabricant de matériel et l'opérateur de réseau. Les fabricants de matériel considèrent souvent leurs pilotes comme des secrets commerciaux et doivent donc apprendre le code des nouvelles versions, puis adapter leurs pilotes. Les fabricants fournissent également souvent des "skins" personnalisés qui doivent être mis à jour pour la nouvelle version, et parfois entièrement repensés. Tout changement doit ensuite être approuvé par les transporteurs. Ils ajoutent souvent leurs propres fonctionnalités, qui doivent être mises à jour / repensées et testées. Ensuite, ils doivent exécuter des tests de réseaux pour chaque téléphone pour s'assurer qu'il ne plantera pas le réseau. Bien que ces tests doivent également se poursuivre pour les iPhones, ils sont probablement effectués avant la sortie de la nouvelle version, car Apple peut produire tous les téléphones exécutant la nouvelle version à la fois pour les tests, avant que le code ne soit distribué aux développeurs.

LeBeau
la source
10

Il s'agit d'une question en deux parties. La partie 1 demande pourquoi les téléphones Android ne reçoivent pas immédiatement la dernière mise à jour, et les autres réponses ont répondu de manière adéquate. La partie 2 demande pourquoi les téléphones plus anciens n'obtiennent souvent pas la dernière mise à jour et n'ont pas encore reçu de réponse.

Comme le dit LeBeau, il existe d'autres parties prenantes de l'entreprise en dehors de Google. Google ne crée que les nouvelles versions et, en plus des téléphones qu'il crée directement, comme la gamme Nexus, il n'a pas grand-chose à dire quant à savoir si et quand les autres les ont mis dans les téléphones. Comme le dit LeBeau, tous ces autres intervenants doivent apprendre la nouvelle version avant de pouvoir l'implémenter. C'est pourquoi les téléphones obtiennent de nouvelles versions plus tard, et pourquoi certains téléphones, comme les Nexus, obtiennent les versions avant tout le monde, car Google a déjà appris la nouvelle version.

En ce qui concerne la partie 2, les fabricants de matériel veulent que nous continuions à acheter de nouveaux téléphones tous les deux mois, non? Sinon, comment garderont-ils toute cette pâte si nous continuons à utiliser nos anciens téléphones? Ils seraient dans la même position que les sociétés informatiques: avec un stockage et une RAM suffisants pour n'importe quel but, pourquoi acheter du nouveau matériel? La réponse est d'arrêter la mise à jour des anciens téléphones, donc si nous voulons les dernières fonctionnalités, nous devons en obtenir une nouvelle. Google ne le fait probablement pas autant, car il vous vend déjà Android, alors pourquoi a-t-il besoin de vous vendre des téléphones, mais il le fait probablement un peu. Les opérateurs de réseau, pour leur part, aident probablement avec leurs règles draconiennes comme empêcher l'enracinement (ou bien vous annulez votre garantie). C'est pourquoi, comme vous le dites, " a July 2010 android is basically a paperweight".

En ce qui concerne votre commentaire sur les améliorations étant "principalement utilisateur", je ne sais pas comment tout cela fonctionne, mais je suis sûr que ce n'est pas si simple. Les mises à niveau peuvent être logicielles, mais tous les logiciels ne parlent pas à l'utilisateur. De plus, les fabricants de matériel ont mis des "skins" sur nos téléphones, donc nous ne voyons pas le fonctionnement interne, et il est probable que quand ils passeront enfin à la dernière version, ils se seront mis de nouvelles choses, de sorte qu'un téléphone HTC One à Android 4.2 est différent d'un téléphone Samsung Galaxy SIV sous Android 4.2. Probablement, HTC ou Samsung lance de nouvelles fonctionnalités pour mettre en 4.3, et vous ne remarquez même pas qu'ils l'ont fait. Ensuite, quand disons que le HTC One ne passe pas à 4.3, mais que le HTC Two le fait (j'invente ça), vous êtes obligé d'obtenir HTC Two pour obtenir (certaines) les nouvelles fonctionnalités de 4.3, ainsi que certaines fonctionnalités de 4.2 que vous n'aviez pas avec HTC One. Je ne suis pas certain que cela se produise, mais c'est une procédure commerciale normale, donc je ne serais pas surpris.

trysis
la source
4

Je pense qu'il y a un certain nombre de raisons pour lesquelles les mises à jour sont si lentes pour les appareils Android:

  1. Le temps qu'il faut à un fabricant pour appliquer ses personnalisations à la nouvelle version et s'assurer que tout fonctionne bien peut être assez long. Cela s'est amélioré au cours de la dernière année environ, car Google leur a donné un PDK Android ou le Kit de développement de plate-forme qui devrait leur permettre de travailler sur leurs personnalisations plusieurs mois avant que le public n'entende parler de la prochaine version d'Android.

  2. Le temps qu'il faut aux réseaux pour tester la mise à jour et appliquer leurs personnalisations.

  3. Les fabricants sont peu incités à appliquer la mise à jour (en particulier sur les appareils de plus d'un an) car ils essaient de vendre leurs nouveaux appareils aux clients.

  4. La plupart des clients ne savent pas ou se soucient de la version d'Android sur leur appareil, alors pourquoi le fabricant dépenserait-il du temps et de l'argent pour mettre à jour l'appareil vers la dernière version.

Vous pouvez également consulter cet article qui donne un peu plus de détails, notamment pourquoi Apple est en mesure de publier des mises à jour `` tellement plus rapidement '' (essentiellement parce qu'elles contrôlent à la fois le matériel et les logiciels).

bmdixon
la source
3

En plus de l'infographie incroyablement longue de HTC dans la réponse de Mpeti , d'autres fabricants sont sortis et ont expliqué pourquoi leurs mises à jour étaient à la traîne des versions officielles de Google et pourquoi elles ne publient pas de mises à jour pour les anciens modèles:

Sony Mobile : Ice Cream Sandwich - de la version du code source à la mise à niveau du logiciel , extraits et en-têtes sélectionnés ci-dessous:

Cependant, avant de pouvoir déployer ces mises à niveau logicielles, il y a beaucoup d'activités pour commencer par faire fonctionner Ice Cream Sandwich et devenir stable sur tous les téléphones Sony Ericsson. Nous appelons cela la phase Bring up.
Deuxièmement, et peut-être le plus important, nous devons certifier et approuver la nouvelle version du logiciel avec toutes les différentes technologies, réseaux et matériels avec lesquels un smartphone moderne devrait fonctionner. Nous appelons cela la phase de certification et d'approbation.

  • La phase Bring up: faire fonctionner Ice Cream Sandwich sur nos téléphones
  • Intégration de correctifs Android
  • Stabilisation du logiciel et ajout de la localisation
  • La phase de certification et d'approbation: s'assurer que le logiciel et le matériel sont conformes
  • Des approbations supplémentaires pourraient être nécessaires
  • De nombreux opérateurs souhaitent également personnaliser le logiciel en fonction de leurs besoins

Lorsque tout cela est fait, nous sommes prêts à déployer les variantes de versions logicielles en tant que mises à niveau logicielles pour les opérateurs et les consommateurs du monde entier.

Motorola avait une bonne entrée de blog à ce sujet, mais semble avoir supprimé tout son ancien contenu de blog au cours des derniers mois. Cependant, la machine Wayback en a une copie archivée: Archive.org: Motorola Update on Ice Cream Sandwich , texte sélectionné et en-têtes ci-dessous:

Une fois le code source publié par Google, il ne se met pas automatiquement à jour sur votre appareil.

Chaque nouvelle version d'Android est lancée avec un partenaire d'appareil, dans ce que l'on appelle le «Google Experience Device» ou GED, l'appareil phare d'une nouvelle version Android. Le partenaire GED pour chaque lancement travaille avec Google pendant le développement de l'OS afin que l'appareil et la nouvelle version Android soient prêts pour un lancement simultané coordonné.

Une fois cet appareil GED expédié, le reste de la communauté Android accède au code source Android rendu public peu de temps après - une étape cruciale pour les fabricants d'appareils et les fournisseurs de composants, nous permettant de commencer à travailler sur l'intégration de la nouvelle version dans nos produits existants. .

  • Fusionnez et adaptez la nouvelle version pour différentes architectures matérielles de périphérique et personnalisations de support
  • Stabiliser et «cuire» le résultat pour éliminer les bogues
  • Soumettre la mise à niveau aux transporteurs pour certification
  • Effectuer une pré-version client
  • Libérez la mise à niveau

Nous prévoyons de mettre à niveau autant de nos téléphones que possible. La capacité à proposer la mise à niveau dépend d'un certain nombre de facteurs, notamment les capacités matérielles / périphériques, la prise en charge logicielle du chipset sous-jacent, la prise en charge ICS, puis la capacité à prendre en charge le logiciel Motorola à valeur ajoutée.

Aussi, PC Mag pourquoi il faudra si longtemps pour mettre à niveau les téléphones en «Ice Cream Sandwich»

GAThrawn
la source
2

Lorsque Google publie une nouvelle version d'Android, la construction est ensuite traitée par le fabricant. Cela leur prend plusieurs mois pour s'assurer que la mise à jour peut tirer parti des fonctionnalités du téléphone et qu'ils peuvent donc installer les fonctionnalités supplémentaires qu'ils souhaitent.

Le processus est ensuite répété pour le transporteur, ce qui prend à nouveau plusieurs mois.

Yos233
la source
Hmm .. C'est la réalité de la situation, je suppose, mais si les améliorations sont principalement "utilisateur-terre", alors ils gardent le matériel ABI sur les versions majeures ne devrait pas ce processus être plus rationalisé. A ce rythme, les blogs etc .. il faudrait vraiment comparer iOS 7.1 à Android 6.2
Mâtt Frëëman