Molti di noi sono tristi dal fatto che il Nexus 5 non riceverà nessun aggiornamento ufficiale ad Android 7.0 Nougat. E quando Sony ha annunciato quali telefoni stavano per ricevere un aggiornamento ad Android 7.0, molti hanno notato che l’Xperia Z3 non era sulla lista. Mentre l’idea che i telefoni del 2014 non vengano aggiornati nel tardo 2016 non è particolarmente sorprendente, il fatto che sorprende è che lo Z3 faceva parte dell’Android Concept Initiative di Sony – un bel nome per un programma Beta di Android 7.0 – ma non è andata come previsto, così come ha sorpreso che Google stesse lavorando su Nougat per il Nexus 5 salvo poi arrestarsi improvvisamente.
Niente Android 7.0: perché?
La situazione ha fatto porre ad Internet l’ovvia domanda: perché? La risposta è che lo Z3 e il Nexus 5 in realtà non possono ufficialmente eseguire Android 7.0, anche se potevano in versione beta.
Gli aggiornamenti della piattaforma Android non sono così importanti per i consumatori come ci fanno credere. La realtà è che Google Play Services e le patch mensili consentono di fare tutto quello che volete sul vostro telefono per un lungo periodo di tempo e nel momento in cui un’applicazione indispensabile richiederà la prossima versione di Android, probabilmente avrete un nuovo telefono o riceverete l’aggiornamento.
Possiamo ancora volerlo, ma questo è solo come andranno le cose fino a quando qualcuno in Google farà un passo avanti e lo cambierà. Poi si sentirà parlare di pugno di ferro di Google e reclami dell’UE e Dio solo sa cos’altro. Lo status quo fa schifo (NDR), ma è ancora lo status quo.
Per l’aggiornamento ad Android 7.0, in particolare, abbiamo bisogno di guardare oltre i requisiti e l’hardware dell’Xperia Z3 o Nexus 5 (e un sacco di altri telefoni) per una risposta plausibile sul perché alcuni telefoni non possono essere aggiornati.
Lo Snapdragon 800
Android 7.0 nell’AOSP ha rimosso il supporto per il chipset MSM8974. Il SoC Snapdragon 800 utilizza questo chip insieme alla GPU Adreno 330. Questo significa che i telefoni (e tablet es. Nexus 7) che usano lo Snapdragon 800 non sono supportati. Ma questo non spiega il motivo per cui lo Z3 è stato in grado di eseguire la beta e anche piuttosto bene. Per questa ragione entra in gioco la compatibilità con Google Play.
Nessuno che lavora nelle aziende coinvolte sta parlando di questi problemi e le richieste di una dichiarazione ufficiale non hanno avuto risposta, ma Internet ha alcuni indizi su questo. Qui vediamo Ola Olsson, di Sony Mobile Communications, parlarne un po’ in un commento su Google+.
Yeah, this is sad but we don’t want to play the blame game which means that we can’t say more about the technical limitations. Even if we really wanted to give you N on the z3(c), we wouldn’t [have] been able to do it. Not if we wanted to pass the Google CTS.
Troverete risposte simili altrove e questo è il tentativo di Sony di non gettare colpa suu nessuno e gestire la cosa in modo professionale, aziendale. La cosa importante è la menzione di Google CTS.
Google CTS è la suite di test della compatibilità usato per assicurarsi che un dispositivo può essere certificato ad utilizzare Google Play. Android è una piattaforma di applicazioni gratuita che chiunque può prendere e utilizzare come vuole, ma Google Play non lo è. E’ una vera venture commerciale a scopo di lucro e Google ha il pieno e completo controllo su tutto ciò che ne è associato.
Le regole ed i requisiti necessari per la conformità CTS di Android 7.0 sono attualmente un po’ un mistero – i partner non possono parlarne o non vogliono parlarne – ma sappiamo il nocciolo della questione. Il prodotto deve essere in grado di eseguire qualsiasi applicazione mirata per la versione della piattaforma. Questo significa che se si sta utilizzando Android 7.0, è necessario supportare qualsiasi applicazione progettata per Android 7.0 Nougat. È possibile controllare la documentazione CTS di Android 6.0.1 se siete curiosi. La documentazione CTS di Android 7.0 dovrebbe essere presente nello stesso posto una volta che sarà aggiornata.
Durante il beta testing di Android 7.0 Nougat – subito dopo il rilascio della versione DP4 – agli sviluppatori è stato detto che le API di Android 7.0 Nougat erano state finalizzate e che avrebbero potuto iniziare a mirare le loro applicazioni per esse nel Google Play. Una delle cose che Android 7.0 Nougat fornisce agli sviluppatori è di far loro utilizzare le API Vulkan e OpenGL ES 3.1 sia con l’SDK che con l’NDK. Per questo, però, è necessario il supporto hardware.
Lo Snapdragon 800 non offre supporto hardware per nessuno dei due e le applicazioni non progettate per ripiegare a una versione precedente di OpenGL non avrebbero funzionato.
Ora non abbiamo accesso ai più recenti documenti CTS di Android. Per Android 6.0.1 è stato detto che l’hardware avrebbe dovuto supportare OpenGL ES 1.0, 2.0, 3.0 o 3.1, ma è stata modificata in “supportare OpenGL ES 1.0, 2.0, 3.0 e uno tra 3.1 o Vulkan”, pero Google non ha detto nulla ufficialmente. Questo certamente spiega il motivo per cui il supporto per lo Snapdragon 800 è stato rimosso e telefoni come il Nexus 5 e lo Z3 non vedranno un aggiornamento ufficiale.
Si tratta di un argomento lungo, contorto e confuso, tanto come gli aggiornamenti Android in generale. Alla fine, sappiamo due cose: il Sony Xperia Z3 non verrà aggiornato ad Android 7.0, perché non passerebbe il CTS per motivi tecnici, e il SoC Snapdragon 800 non offre il supporto alle OpenGL ES 3.1. Il fatto che nessun telefono che utilizza lo Snapdragon 800 o 801 (l’801 utilizza anch’esso la GPU Adreno 330) riceverà un aggiornamento è tutto dire.
E’ inevitabile che Android debba avanzare e supportare nuove (e migliori) tecnologie come Vulkan. Quando queste richiedono il supporto hardware, ci deve essere un taglio. Forse questa volta, il taglio si sarebbe potuto evitare – il General Mobile 4G, un dispositivo Android che utilizza lo Snapdragon 410 ed è in ogni modo più lento sul fronte dell’hardware di qualsiasi telefono che usa lo Snapdragon 800 – ha già Android 7.0 Nougat e questo fa storcere il naso anche sulla teoria più plausibile.
In definitiva se disponete di un telefono come l’Xperia Z3, il Nexus 5 o il Galaxy S5 e volete veramente Android 7.0 Nougat, probabilmente dovrete installare qualche ROM custom creata dagli appassionati di XDA.