Existe uma razão técnica para a história de atualização do Android ser tão ruim?

16

Existe uma razão técnica para os telefones Android ficarem muito atrás da versão estável do Android?

Isso se aplica a ambos os novos telefones; por exemplo, uma recente viagem à loja de telefones estava entre 4,0 e 4,2.1, o KitKat não pôde ser visto. E também telefones antigos, o iPhone 4 da minha namorada teve uma atualização OTA para o sistema operacional mais recente, este é um telefone de julho de 2010, enquanto um Android de julho de 2010 é basicamente um peso de papel.

Presumivelmente, o próprio Android não se preocupa com o hardware real e, assim, conversa com o sistema operacional através de abstrações? Acho que o fabricante do aparelho apenas fornece os drivers para o hardware específico, portanto, não vejo o problema ao pressionar as atualizações OTA se a ABI permanecer estável (meu telefone não gera novos recursos de hardware).

Mâtt Frëëman
fonte
De qualquer maneira, temos forum.xda-developers.com/…
samnaction:
Os drivers de hardware são internos ao kernel e a ABI não é internamente estável. Também não há correspondência estrita entre a versão Android e a versão do kernel; os fabricantes podem incluir ou não atualizações do kernel com atualizações da terra do usuário. Nesse caso, não há compatibilidade binária com os drivers existentes. A maior parte do ônus para o fabricante ainda terá a ver com a adaptação ao novo espaço do usuário - não vejo como a natureza da ABI é particularmente significativa aqui.
precisa
Seu último parágrafo sugere para mim que você tem uma má compreensão sobre o quanto o Android faz nos bastidores. Abstrações e interfaces precisam mudar constantemente para oferecer suporte a novos recursos de hardware, bem como a melhores representações de software. Talvez você possa fazer uma pergunta posterior sobre isso.
Dan Hulme
Só que o iPhone que foi atualizado agora funciona como um cachorro e obriga a atualizar o hardware de qualquer maneira, enquanto o telefone Android funciona tão bem quanto nunca e simplesmente não inclui novos recursos.
JamesRyan

Respostas:

18

Veja esta imagem divulgada pela HTC. Ele descreve o processo de atualização de uma forma muito detalhada:

A anatomia de uma atualização do sistema operacional Android

Imagem redimensionada (clique para ver o tamanho completo)

MPeti
fonte
A edição por t0mm13b quebrou o URL (a versão do usuário11153 estava correta). Devido ao tamanho mínimo de edição de 6 caracteres, não consigo corrigi-lo. Alguém pode dar uma olhada? A URL correta é i.stack.imgur.com/yMMX3.jpg (nota: não yMMX3m.jpg, que é a miniatura)
jmiserez
2
@jmiserez - transformei a pequena miniatura em um link para a versão em tamanho real, pois essa imagem é bastante grande para ser exibida diretamente na resposta IMO.
compro01
17

Os telefones Android têm pelo menos dois dedos no pote que os iPhones não têm: o fabricante do hardware e a operadora da rede. Os fabricantes de hardware geralmente consideram os segredos comerciais de seus drivers e, portanto, precisam aprender o código das novas versões e depois adaptar seus drivers. Os fabricantes também costumam fornecer "skins" personalizadas que devem ser atualizadas para a nova versão e, às vezes, totalmente redesenhadas. Quaisquer alterações devem ser aprovadas pelas transportadoras. Eles geralmente adicionam seus próprios recursos, que devem ser atualizados / reprojetados e testados. Em seguida, eles devem executar testes de rede para cada telefone para garantir que não trava a rede. Embora esses testes devam continuar também para os iPhones, eles provavelmente são feitos antes do lançamento da nova versão, pois a Apple pode produzir todos os telefones executando a nova versão de uma só vez para teste, antes que o código seja liberado para os desenvolvedores.

LeBeau
fonte
10

Esta é uma pergunta em duas partes. A Parte 1 pergunta por que os telefones Android não recebem a atualização mais recente imediatamente e foi respondida adequadamente pelas outras respostas. A Parte 2 pergunta por que os telefones mais antigos nunca recebem a atualização mais recente e ainda não foram respondidos.

Como diz LeBeau, existem outras partes interessadas corporativas além do Google. O Google cria apenas as novas versões e, além dos telefones que ele cria diretamente, como a linha Nexus, não se fala muito sobre se e quando os outros os colocarão nos telefones. Também como LeBeau diz, todos esses outros participantes precisam aprender a nova versão antes de implementá-la. É por isso que os telefones obtêm novas versões mais tarde e por que certos telefones, como os Nexuses, obtêm as versões antes de qualquer outra pessoa, porque o Google já aprendeu a nova versão.

Quanto à parte 2, os fabricantes de hardware querem que continuemos comprando novos telefones a cada dois meses, certo? Caso contrário, como eles manterão toda essa massa rolando se continuarmos usando nossos telefones antigos? Eles estariam na mesma posição em que as empresas de computadores estão: com armazenamento e RAM suficientes para qualquer finalidade, por que comprar um novo hardware? A resposta é parar de atualizar os telefones antigos; portanto, se quisermos os recursos mais recentes, precisamos obter um novo. O Google provavelmente não faz isso tanto, pois já está vendendo o seu Android, então por que ele precisa vender seus telefones, mas provavelmente o faz um pouco. As operadoras de rede, por sua vez, provavelmente ajudam com suas regras draconianas, como impedir o enraizamento (ou você anula sua garantia). É por isso que, como você diz, " a July 2010 android is basically a paperweight".

Quanto ao seu comentário sobre as melhorias serem "principalmente de usuário", não sei como tudo isso funciona, mas tenho certeza de que não é tão simples assim. As atualizações podem estar no software, mas nem todo software fala com o usuário. Além disso, os fabricantes de hardware colocam "capas" em nossos telefones, para que não vejamos o funcionamento interno, e é provável que, quando finalmente atualizem para a versão mais recente, ponham algo novo em si mesmos, para que um telefone HTC One em O Android 4.2 é diferente de um telefone Samsung Galaxy SIV no Android 4.2. Provavelmente, a HTC ou a Samsung lançam alguns novos recursos para o 4.3, e você nem percebe que eles fizeram isso. Então, quando digamos que o HTC One não atualiza para 4.3, mas o HTC Two (eu estou inventando isso), você é obrigado a obter o HTC Two para obter (alguns) os novos recursos do 4.3, bem como alguns recursos do 4.2 que você não adquiriu com o HTC One. Não tenho certeza de que isso aconteça, mas é um procedimento comercial normal, portanto não ficaria surpreso.

trysis
fonte
4

Penso que existem várias razões pelas quais as atualizações são tão lentas para os dispositivos Android:

  1. O tempo que o fabricante leva para aplicar suas personalizações à nova versão e garantir que tudo funcione corretamente pode ser bastante longo. Isso melhorou ao longo do último ano, ou seja, o Google deu a eles um Android PDK ou o Platform Development Kit, que deve permitir que eles trabalhem em suas personalizações vários meses antes do público, mesmo ouvindo sobre a próxima versão do Android.

  2. O tempo que as redes levam para testar a atualização e aplicar suas personalizações.

  3. Há pouco incentivo para os fabricantes aplicarem a atualização (especialmente em dispositivos com mais de um ano), enquanto tentam vender seus dispositivos mais recentes para os clientes.

  4. A maioria dos clientes não sabe ou se importa com a versão do Android no dispositivo. Por que o fabricante gastaria tempo e dinheiro atualizando o dispositivo para a versão mais recente.

Você também pode olhar para este artigo, que detalha um pouco mais, incluindo por que a Apple pode lançar atualizações 'muito mais rapidamente' (essencialmente porque elas controlam o hardware e o software).

bmdixon
fonte
3

Além do infográfico incrivelmente longo da HTC na resposta da Mpeti , outros fabricantes surgiram e disseram por que suas atualizações ficam aquém dos lançamentos oficiais do Google e por que não lançam atualizações para modelos mais antigos:

Sony Mobile : Ice Cream Sandwich - da versão do código-fonte à atualização do software , trechos e cabeçalhos selecionados abaixo:

No entanto, antes que possamos lançar essas atualizações de software, há muitas atividades para que o Ice Cream Sandwich funcione e se torne estável em todos os telefones da Sony Ericsson. Chamamos isso de fase de abertura.
Em segundo lugar, e talvez o mais importante, devemos certificar e aprovar a nova versão do software com todas as diferentes tecnologias, redes e hardware com os quais um smartphone moderno deve funcionar. Chamamos isso de fase de certificação e aprovação.

  • A fase de abertura: Como fazer o sanduíche de sorvete funcionar em nossos telefones
  • Integrando patches Android
  • Como manter o software estável e adicionar localização
  • A fase de certificação e aprovação: Garantindo que o software e o hardware sejam compatíveis
  • Aprovações adicionais podem ser necessárias
  • Muitos operadores também querem personalizar o software de acordo com seus requisitos

Quando tudo isso estiver pronto, estamos prontos para lançar as variantes de versão de software como atualizações de software para operadoras e consumidores em todo o mundo.

A Motorola costumava ter uma boa entrada de blog sobre isso, mas parece ter excluído todo o conteúdo antigo do blog nos últimos meses. No entanto, a máquina Wayback possui uma cópia arquivada: Archive.org: Atualização da Motorola sobre Ice Cream Sandwich , texto e títulos selecionados abaixo:

Depois que o código-fonte é liberado do Google, ele não é atualizado automaticamente para o seu dispositivo.

Cada nova versão do Android é lançada com um parceiro de dispositivo, chamado de "Google Experience Device" ou GED, o dispositivo de demonstração para uma nova versão do Android. O parceiro GED de cada lançamento trabalha com o Google durante o desenvolvimento do sistema operacional para que o dispositivo e a nova versão do Android estejam prontos para um lançamento simultâneo coordenado.

Depois que o dispositivo GED é lançado, o resto da comunidade Android obtém acesso ao código-fonte do Android quando ele é tornado público logo após - um marco crítico para os fabricantes de dispositivos e fornecedores de componentes, permitindo-nos começar a trabalhar na integração do novo lançamento aos nossos produtos existentes. .

  • Mesclar e adaptar a nova versão para diferentes arquiteturas de hardware de dispositivo e personalizações de operadora
  • Estabilize e 'cozer' o resultado para eliminar bugs
  • Envie a atualização para as transportadoras para certificação
  • Executar um pré-lançamento do cliente
  • Libere a atualização

Estamos planejando atualizar o maior número possível de nossos telefones. A capacidade de oferecer a atualização depende de vários fatores, incluindo os recursos de hardware / dispositivo, o suporte subjacente ao software do chipset, o suporte ICS e, em seguida, a capacidade de oferecer suporte ao software de valor agregado da Motorola.

Além disso, a PC Mag Por que levará tanto tempo para atualizar os telefones para o 'Ice Cream Sandwich'

GAThrawn
fonte
2

Quando o Google lança uma nova versão do Android, a compilação é processada pelo fabricante. Isso leva vários meses para garantir que a atualização possa tirar proveito dos recursos do telefone e instalar quaisquer recursos adicionais desejados.

O processo é repetido para a transportadora, que novamente leva vários meses.

Yos233
fonte
Hum. Essa é a realidade da situação, eu acho, mas se as melhorias são principalmente "locais de usuários", elas mantêm o ABI de hardware nas principais versões, não devendo esse processo ser mais simplificado. Nesse ritmo, blogs etc. devemos realmente comparar o iOS 7.1 com o Android 6.2
Mâtt Frëëman