Velen van ons zijn verdrietig dat de Nexus 5 geen officiële update voor Android 7.0 krijgt. Vooral toen we toekeken en zagen dat Google apparaatbomen bleef bouwen in de code voor Hammerhead - dat betekent dat er ergens iemand aan werkte. En toen Sony aankondigde welke telefoons een update naar Android 7.0 zouden ontvangen, merkten velen dat de Xperia Z3 niet op de lijst stond. Hoewel het idee dat telefoons uit 2014 niet laat in 2016 worden bijgewerkt, niet bijzonder verrassend is, is het feit dat de Z3 deel uitmaakte van Sony's Android Concept Initiative - een mooie naam voor een Android 7.0 Beta-programma - maar niet geslaagd en dat Google aan Nougat werkte voor de Nexus 5 en toen gewoon plotseling stopte was.
De situatie stelt internet de voor de hand liggende vraag - waarom? Het antwoord is dat de Z3 en Nexus 5 eigenlijk Android 7.0 niet officieel kunnen uitvoeren, hoewel dit wel als een bèta zou kunnen. Lees verder. Het zal allemaal logisch zijn.
Android-platformupdates zijn niet zo belangrijk voor consumenten als we ze maken te zijn. Hier bij Android Central worden we enthousiast over alles wat nieuw en glanzend is, we vertellen je zo snel als we kunnen (vaak nadat je het al weet omdat lekken gebeuren) en dan worden we allemaal samen enthousiast. De realiteit is dat je met Google Play-services en maandelijkse patches lang alles kunt doen wat je op je telefoon doet, en tegen de tijd dat een must-have-app uitkomt die de volgende versie van Android vereist, heb je waarschijnlijk een nieuwe telefoon of de update.
We kunnen het nog steeds willen, maar dit is gewoon hoe het gaat totdat iemand Google naar voren treedt en het verandert. Dan hoor je praten over de ijzeren vuist van Google en EU-klachten en God weet wat nog meer. De status-quo is slecht, maar het is nog steeds de status-quo.
Android 7.0 heeft geen officiële ondersteuning voor de Snapdragon 800.
Met name voor de Android 7.0-update moeten we niet verder kijken dan de vereisten en de hardware van de Xperia Z3 of Nexus 5 (en tal van andere telefoons) voor een waarschijnlijk antwoord over waarom bepaalde telefoons niet kunnen worden bijgewerkt. We kunnen dit niet bevestigen met officiële verklaringen of documenten of een mooie dia, maar we zijn zeker genoeg om erover te praten en waarom het zo is verlopen.
Android 7.0 in AOSP heeft de ondersteuning voor de MSM8974-chipset verwijderd. De Snapdragon 800 SoC gebruikt deze chip samen met de Adreno 330 GPU. Dit betekent dat telefoons (en tablets - hallo, Nexus 7) die de Snapdragon 800 gebruiken, niet worden ondersteund. Maar dit verklaart niet waarom de Z3 de bèta kon uitvoeren en goed kon uitvoeren. Daarvoor komt compatibiliteit met Google Play in beeld.
Niemand van een van de betrokken bedrijven heeft het over deze kwesties en verzoeken om een officiële verklaring zijn niet teruggestuurd, maar het internet heeft hier enkele aanwijzingen over. Hier zien we Ola Olsson van Sony Mobile Communications erover praten in een reactie op Google+.
Ja, dit is triest, maar we willen het schuldenspel niet spelen, wat betekent dat we niet meer kunnen zeggen over de technische beperkingen. Zelfs als we je echt N op de z3 (c) wilden geven, zouden we het niet kunnen doen, niet als we de Google CTS wilden passeren.
U zult elders soortgelijke antwoorden vinden, en dit is dat Sony niemand onder de bus gooit en dingen op een professionele, zakelijke manier aanpakt. Het belangrijkste is de vermelding van Google CTS.
Google CTS is de Compatibiliteitstestsuite die wordt gebruikt om te zorgen dat een apparaat kan worden gecertificeerd voor het gebruik van Google Play. Android is een gratis applicatieplatform dat iedereen op elke gewenste manier kan gebruiken en gebruiken, maar Google Play is dat niet. Het is een echte commerciële onderneming met winstoogmerk en Google heeft volledige en volledige controle over alles wat ermee te maken heeft.
De werkelijke regels en vereisten die nodig zijn voor Android 7.0 CTS-compliance zijn een beetje een mysterie - beide partners kunnen er niet over praten of willen er niet over praten - maar we kennen de kern ervan. Uw product moet elke app kunnen uitvoeren die is gericht op uw platformversie. Dat betekent dat als u Android 7.0 gebruikt, u elke app moet ondersteunen die is ontworpen voor Android Nougat. Je kunt de CTS-documentatie van Android 6.0.1 bekijken als je nieuwsgierig bent. De CTS-documentatie voor Android 7.0 zou op dezelfde plaats moeten staan nadat deze is bijgewerkt.
Tijdens de bètatests voor Android N - net na de release van versie vier - kregen ontwikkelaars te horen dat Android N API's waren afgerond en konden ze beginnen met het richten van apps op hen in Google Play. Een van de dingen die Android N voor ontwikkelaars doet, is hen de Vulkan- en OpenGL ES 3.1 API's met zowel de SDK als de NDK te laten gebruiken. Daarvoor heb je echter hardware-ondersteuning nodig. De Snapdragon 800 biedt ook geen hardware-ondersteuning en apps die niet zijn ontworpen om terug te vallen op een oudere versie van OpenGL zouden niet worden uitgevoerd.
Zoals gezegd hebben we geen toegang tot de nieuwste Android CTS-documenten. Voor Android 6.0.1 stond dat hardware OpenGL ES 1.0, 2.0 en 3.0 of 3.1 moest ondersteunen. Mij is verteld dat het is gewijzigd om te zeggen "ondersteuning voor OpenGL ES 1.0, 2.0, 3.0 en 3.1 of Vulkan", maar Google heeft officieel niets gezegd. Maar dit verklaart zeker waarom de ondersteuning voor de Snapdragon 800 is verwijderd en telefoons zoals de Nexus 5 en de Z3 geen officiële update zullen zien, en ik ben ervan overtuigd dat dit de reden is.
Android is open, maar Google Play is dat niet; er zijn regels aan verbonden.
Dit is een lang, ingewikkeld en verwarrend onderwerp - net als Android-updates in het algemeen. Uiteindelijk weten we twee dingen: de Sony Xperia Z3 wordt niet geüpdatet naar Android 7.0 omdat hij om technische redenen de CTS niet zou halen en de Snapdragon 800 SoC biedt geen OpenGL ES 3.1-ondersteuning. Het feit dat er geen telefoon is die de Snapdragon 800 of 801 gebruikt (de 801 maakt ook gebruik van de Adreno 330 GPU), is ook een beetje veelzeggend.
Laten we eerlijk zijn - dit is klote. Als enthousiastelingen willen we een update krijgen, zelfs als deze niets verandert. De praktische opvatting dat platformupdates niet zo belangrijk zijn als we ze maken, is prima, en ik denk dat het waar is, maar dat voldoet niet aan de innerlijke nerd. Maar het is ook onvermijdelijk. Android moet nieuwe (en betere) technologieën zoals Vulkan bevorderen en ondersteunen. Wanneer hiervoor hardware-ondersteuning nodig is, moet er een cutoff zijn. Misschien had dit keer de cutoff kunnen worden vermeden - de General Mobile 4G, een Android One-apparaat dat de Snapdragon 410 gebruikt en in alle opzichten zwakker is qua hardware dan elke telefoon met de Snapdragon 800 - heeft al Android Nougat en dit gooit een enorme sleutel tot zelfs de meest plausibele theorie.
Breekt Google hier zijn eigen regels met betrekking tot de CTS? Of is alles wat we hebben gehoord en denken dat we alle onzin kennen en is het echt een sinistere plot om ons boos te maken? (Ik ben er vrij zeker van dat Google zijn eigen regels overtreedt omdat het kan, maar ik ben er net zo zeker van dat alles onzin is, dus ik heb nog steeds geen idee.)
Het komt erop neer dat als je een telefoon hebt zoals de Xperia Z3, of de Nexus 5 of de Galaxy S5 en echt Android 7.0 Nougat wilt, je deze waarschijnlijk moet halen uit de fijne groep die aangepaste software voor de telefoons bouwt voor de telefoons op XDA.