Muitos de nós estão tristes que o Nexus 5 não esteja recebendo nenhuma atualização oficial para o Android 7.0. Especialmente quando assistimos e vimos o Google continuar a criar árvores de dispositivos no código do Hammerhead - isso significa que alguém, em algum lugar, estava trabalhando nisso. E quando a Sony anunciou quais telefones receberiam uma atualização para o Android 7.0, muitos notaram que o Xperia Z3 não estava na lista. Embora a ideia de que os telefones de 2014 não sejam atualizados no final de 2016 não seja particularmente surpreendente, o fato de o Z3 fazer parte da Android Concept Initiative da Sony - um nome chique para um programa Android 7.0 Beta - mas não conseguiu que o Google estava trabalhando no Nougat para o Nexus 5 e parou de repente foi.
A situação tem a internet fazendo a pergunta óbvia - por quê? A resposta é que o Z3 e o Nexus 5 na verdade não podem executar oficialmente o Android 7.0, apesar de poderem ser um beta. Leia. Tudo fará sentido.
As atualizações da plataforma Android não são tão importantes para os consumidores quanto pensamos. Aqui no Android Central, ficamos empolgados com qualquer coisa nova e brilhante, informamos o mais rápido possível (muitas vezes depois que você já sabe porque os vazamentos acontecem) e todos ficamos animados juntos. A realidade é que o Google Play Services e as correções mensais permitirão que você faça tudo o que faz no telefone por um longo período de tempo. Quando um aplicativo indispensável for lançado e exigir a próxima versão do Android, você provavelmente terá um novo telefone ou a atualização.
Ainda podemos querer, mas é assim que as coisas vão até que alguém o Google avance e mude. Então você ouvirá falar sobre o punho de ferro do Google e as reclamações da UE e Deus sabe o que mais. O status quo é péssimo, mas ainda é o status quo.
O Android 7.0 não tem suporte oficial para o Snapdragon 800.
Para a atualização do Android 7.0, em particular, precisamos olhar além dos requisitos e do hardware do Xperia Z3 ou Nexus 5 (e muitos outros telefones) para obter uma resposta provável sobre por que certos telefones não podem ser atualizados. Não podemos confirmar isso usando declarações ou documentos oficiais ou um slide sofisticado, mas temos a certeza de falar sobre isso e por que funcionou dessa maneira.
O Android 7.0 no AOSP removeu o suporte ao chipset MSM8974. O Snapdragon 800 SoC usa esse chip junto com a GPU Adreno 330. Isso significa que telefones (e tablets - olá, Nexus 7) usando o Snapdragon 800 não são suportados. Mas isso não explica por que o Z3 foi capaz de executar o beta e executá-lo bem. Para isso, a compatibilidade do Google Play entra em cena.
Ninguém de nenhuma das empresas envolvidas está falando sobre esses problemas, e os pedidos de declaração oficial não foram retornados, mas a Internet tem algumas pistas sobre tudo isso. Aqui vemos Ola Olsson, da Sony Mobile Communications, falar um pouco sobre isso em um comentário no Google+.
Sim, isso é triste, mas não queremos jogar o jogo da culpa, o que significa que não podemos dizer mais sobre as limitações técnicas. Mesmo se realmente quiséssemos fornecer N no z3 (c), não conseguiríamos fazê-lo, não se quiséssemos aprovar o Google CTS.
Você encontrará respostas semelhantes em outros lugares, e a Sony não está jogando ninguém embaixo do ônibus e lidando com as coisas de maneira profissional e corporativa. O importante é a menção ao Google CTS.
O Google CTS é o conjunto de testes de compatibilidade usado para garantir que um dispositivo possa ser certificado para usar o Google Play. O Android é uma plataforma de aplicativos gratuita que qualquer pessoa pode usar e usar da maneira que quiser, mas o Google Play não. É um verdadeiro empreendimento comercial com fins lucrativos e o Google tem controle total e completo sobre tudo o que está associado a ele.
As regras e requisitos reais necessários para a conformidade com o Android 7.0 CTS são um pouco misteriosos - ou os parceiros não podem falar sobre o assunto ou não querem falar sobre o assunto - mas sabemos o essencial. Seu produto deve ser capaz de executar qualquer aplicativo direcionado para a versão da sua plataforma. Isso significa que, se você estiver usando o Android 7.0, precisará oferecer suporte a qualquer aplicativo criado para o Android Nougat. Você pode conferir a documentação do Android 6.0.1 CTS, se estiver curioso. A documentação do Android 7.0 CTS deve estar no mesmo local após a atualização.
Durante o teste beta do Android N - logo após o lançamento da versão quatro -, os desenvolvedores foram informados de que as APIs do Android N foram finalizadas e poderiam começar a segmentar aplicativos para eles no Google Play. Uma das coisas que o Android N faz para os desenvolvedores é permitir que eles usem as APIs Vulkan e OpenGL ES 3.1 com o SDK e o NDK. Para isso, porém, você precisa de suporte de hardware. O Snapdragon 800 também não oferece suporte de hardware e os aplicativos não projetados para voltar a uma versão mais antiga do OpenGL não seriam executados.
Agora, como mencionado, não temos acesso aos documentos mais recentes do Android CTS. Para o Android 6.0.1, ele disse que o hardware tinha que suportar o OpenGL ES 1.0, 2.0 e 3.0 ou 3.1. Foi-me dito que foi alterado para dizer "suporte OpenGL ES 1.0, 2.0, 3.0 e 3.1 ou Vulkan", mas o Google não disse nada oficialmente. Mas isso certamente explica por que o suporte ao Snapdragon 800 foi removido e telefones como o Nexus 5 e o Z3 não receberão uma atualização oficial, e estou confiante de que esse é o motivo.
O Android está aberto, mas o Google Play não; existem regras envolvidas.
Esse é um assunto longo, complicado e confuso - bem como as atualizações do Android em geral. No final, sabemos duas coisas: o Sony Xperia Z3 não será atualizado para o Android 7.0 porque não passaria no CTS por razões técnicas, e o Snapdragon 800 SoC não oferece suporte ao OpenGL ES 3.1. O fato de que nenhum telefone usando o Snapdragon 800 ou 801 (o 801 também usa a GPU Adreno 330) foi anunciado, pois a atualização também é um pouco reveladora.
Sejamos honestos - isso é péssimo. Como entusiastas, queremos receber uma atualização, mesmo que isso não mude nada. A visão prática de que as atualizações de plataforma não são tão importantes quanto pensamos ser boa é, e eu acho que é verdade, mas isso não satisfaz o nerd interno. Mas também é inevitável. O Android precisa avançar e oferecer suporte a novas (e melhores) tecnologias como o Vulkan. Quando estes requerem suporte de hardware, deve haver um limite. Talvez desta vez o corte possa ter sido evitado - o General Mobile 4G, um dispositivo Android One que usa o Snapdragon 410 e está de alguma maneira mais fraco na frente do hardware do que qualquer telefone executando o Snapdragon 800 - já tem o Android Nougat e isso gera uma chave enorme até na teoria mais plausível.
O Google está quebrando suas próprias regras aqui em relação ao CTS? Ou é tudo o que ouvimos e achamos que sabemos todas as besteiras e é realmente uma trama sinistra que nos deixa com raiva? (Estou bastante certo de que o Google está violando suas próprias regras porque pode, mas tenho a certeza de que tudo é besteira, por isso ainda não faço ideia.)
A conclusão é que, se você tiver um telefone como o Xperia Z3, o Nexus 5 ou o Galaxy S5 e realmente quiser o Android 7.0 Nougat, provavelmente precisará obtê-lo no fino grupo de criação de software personalizado para os telefones no XDA.