¿Hay alguna razón técnica por la que la historia de actualización de Android sea tan mala?

16

¿Hay alguna razón técnica por la cual los teléfonos Android en general se retrasan mucho con respecto a la versión estable de Android?

Esto se aplica a ambos teléfonos nuevos, por ejemplo, un viaje reciente a la tienda de teléfonos todo fue de 4.0 a 4.2.1, KitKat no se pudo ver. Y también teléfonos viejos, el iPhone 4 de mi novia tenía una actualización OTA para el último sistema operativo, este es un teléfono de julio de 2010, mientras que un Android de julio de 2010 es básicamente un pisapapeles.

Presumiblemente, el propio Android no se preocupa por el hardware real y, por lo tanto, habla con el sistema operativo a través de abstracciones. Supongo que el fabricante del teléfono solo proporciona los controladores para el hardware específico, por lo tanto, no puedo ver el problema de impulsar las actualizaciones de OTA si el ABI se mantiene estable (mi teléfono no tiene nuevas características de hardware).

Mâtt Frëëman
fuente
De cualquier manera tenemos forum.xda-developers.com/…
samnaction
Los controladores de hardware son internos al núcleo y la ABI no es internamente estable. Tampoco existe una correspondencia estricta entre la versión de Android y la versión del kernel; los fabricantes pueden o no incluir actualizaciones de kernel con actualizaciones de usuario. Si lo hacen, no hay compatibilidad binaria con sus controladores existentes. Sin embargo, la mayor parte de la carga sobre el fabricante aún tendrá que ver con la adaptación al nuevo espacio de usuario: no veo cómo la naturaleza del ABI es particularmente significativa aquí.
Ricitos
Su último párrafo me sugiere que tiene una idea errónea sobre cuánto hace Android detrás de escena. Las abstracciones y las interfaces tienen que seguir cambiando para admitir nuevas características de hardware, así como mejores representaciones de software. Tal vez podría hacer una pregunta de seguimiento al respecto.
Dan Hulme
Excepto que el iPhone que se actualizó ahora funciona como un perro y te obliga a actualizar el hardware de todos modos, mientras que el teléfono Android funciona tan bien como siempre y simplemente no incluye nuevas funciones.
JamesRyan

Respuestas:

18

Ver esta imagen lanzada por HTC. Describe el proceso de actualización en una forma muy detallada:

La anatomía de una actualización del sistema operativo Android

Imagen redimensionada (haga clic para ver el tamaño completo)

MPeti
fuente
La edición realizada por t0mm13b rompió la URL (la versión user11153 era correcta). Debido a la longitud mínima de edición de 6 caracteres, no puedo solucionarlo. ¿Alguien puede echar un vistazo? La URL correcta es i.stack.imgur.com/yMMX3.jpg (nota: no yMMX3m.jpg, que es la miniatura)
jmiserez
2
@jmiserez: convertí la pequeña miniatura en un enlace a la versión de tamaño completo, ya que esa imagen es bastante grande para mostrarla directamente en la respuesta IMO.
Compro01
17

Los teléfonos Android tienen al menos 2 dedos en el bote que los iPhone no tienen: el fabricante de hardware y el operador de red. Los fabricantes de hardware a menudo consideran los secretos comerciales de sus controladores y, por lo tanto, deben aprender el código de las nuevas versiones y luego adaptar sus controladores. Los fabricantes también suelen proporcionar "máscaras" personalizadas que deben actualizarse para la nueva versión y, a veces, completamente rediseñadas. Cualquier cambio debe ser aprobado por los transportistas. A menudo agregan sus propias características, que deben actualizarse / rediseñarse y probarse. Luego deben ejecutar pruebas de redes para cada teléfono para asegurarse de que no bloqueará la red. Si bien estas pruebas también deben realizarse para los iPhones, probablemente se realicen antes de que se lance la nueva versión, ya que Apple puede producir todos los teléfonos que ejecuten la nueva versión de una vez para probar, antes de que el código se lance incluso a los desarrolladores.

LeBeau
fuente
10

Esta es una pregunta de 2 partes. La Parte 1 pregunta por qué los teléfonos Android no reciben la última actualización de inmediato, y las otras respuestas han respondido adecuadamente. La Parte 2 pregunta por qué los teléfonos más antiguos a menudo nunca reciben la actualización más reciente y aún no han recibido respuesta.

Como dice LeBeau, hay otras partes interesadas corporativas además de Google. Google solo crea las nuevas versiones y, además de los teléfonos que crea directamente, como la línea Nexus, no tiene mucho que decir sobre si los demás los ponen en los teléfonos y cuándo. También, como dice LeBeau, todos estos otros interesados ​​tienen que aprender la nueva versión antes de que puedan implementarla. Es por eso que los teléfonos obtienen nuevas versiones más tarde, y por qué ciertos teléfonos, como los Nexuses, obtienen las versiones antes que nadie, porque Google ya ha aprendido la nueva versión.

En cuanto a la parte 2, los fabricantes de hardware quieren que sigamos comprando teléfonos nuevos cada dos meses, ¿verdad? De lo contrario, ¿cómo van a mantener toda esa masa rodando si seguimos usando nuestros teléfonos viejos? Estarían en la misma posición que las compañías de computadoras: con almacenamiento y RAM suficientes para cualquier propósito, ¿por qué comprar un nuevo hardware? La respuesta es dejar de actualizar los teléfonos antiguos, por lo que si queremos las funciones más nuevas, tenemos que obtener una nueva. Google probablemente no hace esto tanto, ya que ya te está vendiendo Android, entonces, ¿por qué necesita vender tus teléfonos, pero probablemente lo haga un poco? Los operadores de red, por su parte, probablemente ayuden con sus reglas draconianas como evitar el enraizamiento (o de lo contrario anulará la garantía). Por eso, como dices, " a July 2010 android is basically a paperweight".

En cuanto a su comentario sobre las mejoras que son "principalmente tierra de usuarios", no sé cómo funciona todo eso, pero estoy seguro de que no es tan simple. Las actualizaciones pueden estar en el software, pero no todo el software habla con el usuario. Además, los fabricantes de hardware ponen "máscaras" en nuestros teléfonos, por lo que no vemos el funcionamiento interno, y es probable que cuando finalmente actualicen a la versión más nueva, pongan algunas cosas nuevas en sí mismas, de modo que un teléfono HTC One en Android 4.2 es diferente de un teléfono Samsung Galaxy SIV en Android 4.2. Probablemente, HTC o Samsung lanzan algunas características nuevas para poner en 4.3, y ni siquiera se da cuenta de que lo hicieron. Entonces, cuando digamos que el HTC One no se actualiza a 4.3, pero el HTC Two sí (estoy inventando esto), se ve obligado a obtener HTC Two para obtener (algunas de) las nuevas características de 4.3, así como algunas características de 4.2 que no obtuviste con HTC One. No estoy seguro de que esto suceda, pero es un procedimiento comercial normal, por lo que no me sorprendería.

Trysis
fuente
4

Creo que hay varias razones por las cuales las actualizaciones son tan lentas para los dispositivos Android:

  1. El tiempo que le toma a un fabricante aplicar sus personalizaciones a la nueva versión y asegurarse de que todo funcione bien puede ser bastante largo. Esto ha mejorado durante el último año más o menos, ya que Google les dio un PDK de Android , o el Kit de desarrollo de plataforma que debería permitirles trabajar en sus personalizaciones varios meses antes de que el público escuche acerca de la próxima versión de Android.

  2. El tiempo que tardan las redes en probar la actualización y aplicar sus personalizaciones.

  3. Hay pocos incentivos para que los fabricantes apliquen la actualización (especialmente en dispositivos de más de 1 año) ya que están tratando de vender sus dispositivos más nuevos a los clientes.

  4. La mayoría de los clientes no saben o no les importa qué versión de Android tiene en su dispositivo, entonces, ¿por qué el fabricante gastaría tiempo y dinero actualizando el dispositivo a la última versión?

También puede consultar este artículo que entra en un poco más de detalle, incluido por qué Apple puede lanzar actualizaciones "mucho más rápido" (esencialmente porque controlan tanto el hardware como el software).

bmdixon
fuente
3

Además de la increíblemente larga infografía de HTC en la respuesta de Mpeti , otros fabricantes salieron y dijeron por qué sus actualizaciones van a la zaga de los lanzamientos oficiales de Google, y por qué no lanzan actualizaciones para modelos anteriores:

Sony Mobile : Ice Cream Sandwich: desde el lanzamiento del código fuente hasta la actualización del software , los extractos y encabezados seleccionados a continuación:

Sin embargo, antes de que podamos implementar esas actualizaciones de software, hay muchas actividades para hacer que Ice Cream Sandwich funcione y se estabilice en todos los teléfonos Sony Ericsson. Llamamos a esto la fase de preparación.
En segundo lugar, y quizás lo más importante, debemos certificar y aprobar la nueva versión de software con todas las diferentes tecnologías, redes y hardware con los que un teléfono inteligente moderno debería funcionar. A esto le llamamos la fase de certificación y aprobación.

  • La fase de preparación: hacer que Ice Cream Sandwich funcione en nuestros teléfonos
  • Integrando parches de Android
  • Hacer que el software sea estable y agregar localización
  • La fase de certificación y aprobación: asegurarse de que el software y el hardware cumplen
  • Podrían ser necesarias aprobaciones adicionales
  • Muchos operadores también quieren personalizar el software de acuerdo con sus requisitos.

Una vez hecho todo esto, estamos listos para implementar las versiones de lanzamiento de software como actualizaciones de software para operadores y consumidores de todo el mundo.

Motorola solía tener una buena entrada de blog sobre esto, pero parece haber eliminado todo su contenido de blog anterior en los últimos meses. Sin embargo, la máquina Wayback tiene una copia archivada: Archive.org: Actualización de Motorola en Ice Cream Sandwich , texto seleccionado y encabezados a continuación:

Una vez que Google libera el código fuente, no se actualiza automáticamente en su dispositivo.

Cada nueva versión de Android se lanza con un dispositivo asociado, en lo que se llama el "Dispositivo de experiencia de Google" o GED, el dispositivo de exhibición para una nueva versión de Android. El socio de GED para cada lanzamiento trabaja con Google durante el desarrollo del sistema operativo para que el dispositivo y la nueva versión de Android estén listos para un lanzamiento simultáneo coordinado.

Una vez que se envía ese dispositivo GED, el resto de la comunidad de Android obtiene acceso al código fuente de Android cuando se hace público poco después, un hito crítico para los fabricantes de dispositivos y proveedores de componentes, lo que nos permite comenzar a trabajar en la integración de la nueva versión en nuestros productos existentes. .

  • Combine y adapte la nueva versión para diferentes arquitecturas de hardware del dispositivo y personalizaciones de operadores
  • Estabilice y "hornee" el resultado para eliminar errores
  • Enviar la actualización a los transportistas para su certificación
  • Realizar un prelanzamiento del cliente
  • Lanza la actualización

Estamos planeando actualizar la mayor cantidad posible de nuestros teléfonos. La capacidad de ofrecer la actualización depende de una serie de factores, incluidas las capacidades de hardware / dispositivo, el soporte de software del chipset subyacente, el soporte de ICS y luego la capacidad de soportar el software de valor agregado de Motorola.

Además, PC Mag ¿Por qué llevará tanto tiempo actualizar los teléfonos a 'Ice Cream Sandwich'?

GAThrawn
fuente
2

Cuando Google lanza una nueva versión de Android, el fabricante procesa la compilación. Esto lleva varios meses para asegurarse de que la actualización pueda aprovechar las funciones del teléfono y poder instalar las funciones adicionales que deseen.

El proceso se repite para el transportista, lo que nuevamente lleva varios meses.

Yos233
fuente
Hmm ... Esa es la realidad de la situación, supongo, pero si las mejoras son principalmente "tierra de usuarios", entonces mantienen el ABI de hardware en las versiones principales si este proceso no se simplifica. A este ritmo, blogs, etc. realmente deberíamos comparar iOS 7.1 con Android 6.2
Mâtt Frëëman