Много от нас са тъжни, че Nexus 5 не получава официална актуализация на Android 7.0. Особено, когато гледахме и видяхме Google да продължава да изгражда дървета на устройства в кода за Hammerhead - това означава, че някой някъде е работил върху него. И когато Sony обяви кои телефони ще получат актуализация на Android 7.0, мнозина забелязаха, че Xperia Z3 не е в списъка. Въпреки че идеята, че телефоните от 2014 г. не се актуализират в края на 2016 г., не е особено изненадваща, фактът, че Z3 беше част от Android Concept Initiative на Sony - фантастично име за Android 7.0 Beta програма, но не направи рязане и че Google работи над Nougat за Nexus 5, а след това внезапно спря.
В ситуацията има интернет, който задава очевидния въпрос - защо? Отговорът е, че Z3 и Nexus 5 всъщност не могат официално да работят с Android 7.0, въпреки че могат да бъдат бета. Прочетете нататък. Всичко ще има смисъл.
Актуализациите на платформата за Android не са толкова важни за потребителите, колкото ги правим. Тук в Android Central се вълнуваме от всичко ново и лъскаво, казваме ви възможно най-скоро (често след като вече знаете, защото течовете се случват) и тогава всички се вълнуваме заедно. Реалността е, че Google Play Services и месечните корекции ще ви позволят да правите всичко, което правите на телефона си за дълго време, а до излизането на задължително приложение, което изисква следващата версия на Android, вероятно ще имате нова телефон или актуализацията.
Все още можем да го искаме, но точно така вървят нещата, докато някой Google не пристъпи напред и не го промени. След това ще чуете разговори за железния юмрук на Google и оплакванията на ЕС и Бог знае какво още. Статуквото е гадно, но все още е статуквото.
Android 7.0 няма официална поддръжка за Snapdragon 800.
По-конкретно за актуализацията на Android 7.0 трябва да търсим по-далеч от изискванията и хардуера на Xperia Z3 или Nexus 5 (и много други телефони) за вероятен отговор защо някои телефони не могат да бъдат актуализирани, Не можем да потвърдим това с помощта на официални изявления или документи или фантазиран слайд, но сме достатъчно сигурни, за да говорим за това и защо се е получило така, както се случи.
Android 7.0 в AOSP премахна поддръжката за чипсета MSM8974. Snapdragon 800 SoC използва този чип заедно с Adreno 330 GPU. Това означава, че телефоните (и таблетите - здравей, Nexus 7), използващи Snapdragon 800, не се поддържат. Но това не обяснява защо Z3 успя да стартира бета и да я изпълни добре. За това в картината влиза съвместимостта с Google Play.
Никой от която и да е от участващите компании не говори за тези проблеми и исканията за официално изявление не са върнати, но в интернет има някои улики за всичко това. Тук виждаме Ола Олсон от Sony Mobile Communications, която говори малко за това в коментар в Google+.
Да, това е тъжно, но не искаме да играем играта на вината, което означава, че не можем да кажем повече за техническите ограничения. Дори ако наистина искахме да ви дадем N на z3 (c), нямаше да можем да го направим. Не и ако искахме да предадем Google CTS.
На други места ще намерите подобни отговори и това е Sony да не хвърля никого под автобуса и да борави с нещата по професионален, корпоративен начин. Важното е споменаването на Google CTS.
Google CTS е пакетът за тестване на съвместимост, използван за да се гарантира, че дадено устройство може да бъде сертифицирано за използване на Google Play. Android е безплатна платформа за приложения, която всеки може да вземе и използва по всякакъв начин, който му харесва, но Google Play не е така. Това е истинско търговско начинание с печалба и Google има пълен и пълен контрол върху всичко, свързано с него.
Действителните правила и изисквания, необходими за спазването на Android 7.0 CTS са малко загадка - или партньорите не могат да говорят за това, или не искат да говорят за него - но ние знаем същността на това. Вашият продукт трябва да може да стартира всяко приложение, насочено към вашата версия на платформата. Това означава, че ако използвате Android 7.0, трябва да поддържате всяко приложение, създадено за Android Nougat. Можете да разгледате документацията за Android 6.0.1 CTS, ако се интересувате. Документацията за Android 7.0 CTS трябва да живее на едно и също място, след като бъде актуализирана.
По време на бета тестването за Android N - веднага след излизането на версия четири, на разработчиците беше казано, че API на Android N са финализирани и те могат да започнат да насочват приложения към тях в Google Play. Едно от нещата, които Android N прави за разработчиците е да им позволят да използват API Vulkan и OpenGL ES 3.1 както с SDK, така и с NDK. За това обаче ви е необходима хардуерна поддръжка. Snapdragon 800 не предлага хардуерна поддръжка и за двете, а приложенията, които не са проектирани да се връщат към по-стара версия на OpenGL, не биха се стартирали.
Както вече споменахме, нямаме достъп до най-новите документи за Android CTS. За Android 6.0.1 той казва, че хардуерът трябва да поддържа OpenGL ES 1.0, 2.0 и 3.0 или 3.1. Казаха ми, че е изменен, за да каже „поддържа OpenGL ES 1.0, 2.0, 3.0 и 3.1 или Vulkan“, но Google не каза нищо официално. Но това със сигурност обяснява защо поддръжката за Snapdragon 800 бе премахната и телефони като Nexus 5 и Z3 няма да виждат официална актуализация и аз съм уверен, че това е причината.
Android е отворен, но Google Play не е; има правила, които участват.
Това е дълга, объркана и объркваща тема - подобно на актуализациите на Android като цяло. В крайна сметка знаем две неща: Sony Xperia Z3 няма да бъде актуализиран до Android 7.0, тъй като по технически причини няма да предаде CTS, а Snapdragon 800 SoC не предлага поддръжка на OpenGL ES 3.1. Фактът, че нито един телефон, използващ Snapdragon 800 или 801 (801 също използва Adreno 330 GPU), не е обявен за получаване на актуализация, също е малко показателен.
Нека бъдем честни - това е гадно. Като ентусиасти, ние искаме да получим актуализация, дори ако тя не промени нищо. Практическото мнение, че актуализациите на платформата не са толкова важни, колкото ние ги правим, е добре, и аз мисля, че е вярно, но това не удовлетворява вътрешния мотив. Но това също е неизбежно. Android трябва да напредва и да поддържа нови (и по-добри) технологии като Vulkan. Когато те изискват хардуерна поддръжка, трябва да има прекъсване. Може би този път прекъсването можеше да бъде избегнато - General Mobile 4G, устройство с Android One, което използва Snapdragon 410 и е по всякакъв начин по-слаб от хардуерната предна част от който и да е телефон, работещ със Snapdragon 800 - вече има Android Nougat и това хвърля огромен ключ дори в най-правдоподобната теория.
Дали Google нарушава собствените си правила тук по отношение на CTS? Или всичко, което сме чували и мислим, че знаем всички глупости и наистина е някакъв зловещ заговор, който да ни ядоса? (Доста съм сигурен, че Google нарушава собствените си правила, защото може, но съм също толкова сигурен, че всичко е глупости, така че все още нямам представа.)
Долната линия е, че ако имате телефон като Xperia Z3 или Nexus 5 или Galaxy S5 и наистина искате Android 7.0 Nougat, вероятно ще трябва да го вземете от финия групов персонализиран софтуер за телефоните на XDA,