Почему не все смартфоны могут обновиться до новой версии Android Популярный твиттер-блогер под ником @turbojedi написал в своем блоге на Medium примечание о том, почему не все смартфоны на базе Android могут быстро перейти на новую версию системы.
Редакция vc.ru публикует отредактированную версию статьи с разрешения автора.
Телефоны Android, как и все вещи 2016 года, собраны из каких-то микросхем.
У вас может сложиться ошибочное представление о том, что работу можно выполнить хорошо или сделать быстро.
Не так с микросхемами: их можно сделать быстро, но плохо, а можно сделать медленно, но всё равно плохо.
Даже если очень долго делать хорошую микросхему, то через несколько лет на выходе почему-то всё равно получается плохо (в этом в какой-то степени виноваты лично Вы, но это совсем другая история).
Поэтому микрочипы для вашего телефона очень быстро и за не очень большие деньги делают люди, которые работают семь дней в неделю по слишком много часов в день.
Они прекрасно знают, что их чипы будут использоваться в основном в телефонах Android и давно с этим смирились, поэтому их единственная цель — сделать хоть что-то, что будет соответствовать последней версии.
Набор спецификаций и тестовых утилит Google для чипов Android. В один момент эти люди неизбежно срывают все сроки, а утилиты Google всё равно не хотят корректно работать на их чипах.
Поэтому принимается единственно возможное решение в такой ситуации:
Мне все равно, отправим на фабрику распечатать, исправим в программеВидео декодируется в перевернутом виде? Мне все равно, исправим это в программном обеспечении.
Контроллер флешки читает что-нибудь кроме содержимого флешки? Мне все равно, исправим это в программном обеспечении.
GPU не рисует текстуры? Это вообще норма.
Большое счастье, что ГПУ в принципе как-то работает.
На фото я редактирую в программе.
К счастью, этот чип не для телефонов Android, он слишком большой.
Поэтому, пока завод печатает микросхемы, программисты молятся своим темным богам и совершают свои темные ритуалы над полуработающими драйверами.
Рано или поздно они получают такой невообразимый набор хаков, что даже они понимают, что это не должно, не может работать, но работает. Один из первых заводских девбордов со свежим набором хаков проходит все тесты Google (еще 14 образцов из той же партии тесты не проходят, но это опять совсем другая история).
Это очень важный момент по следующим причинам:
- Уже сейчас абсолютно никто в компании не имеет ни малейшего представления о том, как что-то работает.
- Именно в этот момент программисты перестают дышать, чтобы снова ничего не сломалось, и собирают релизную версию своего ужасного набора хаков.
Все последующие правки в драйверах сделаны с одной целью - заставить их отставать.
Чтобы программисты не повесились от стыда на JTAG-ниточках, им на помощь приходит отдел маркетинга и сообщает, что исходные коды не разглашаются, поскольку содержат большую коммерческую тайну и посмотрев в них можно в принципе понять, как работают некоторые вещи.
работа в чипе.
На самом деле это вообще никому не нужно — другие производители тоже понятия не имеют, как работают их собственные микросхемы, с чужими они иметь дело тоже не хотят. Чтобы было еще чуть менее неловко, набор хаков называется BSP (Board Support Package).
Давайте перенесемся на два года вперед. Каким-то чудом производителю вашего телефона удалось выпустить ваш телефон, вы его по глупости купили, а теперь читаете в интернете, что скоро выйдет новая версия Android с кучей новых крутых вещей и задаетесь вопросом, выйдет ли она быть перенесен на ваш телефон.
Еще полгода назад и производитель вашего телефона, и производитель чипов, из которых он собран, уже прекрасно знали, что не портируют. Потому что задолго до официального анонса новой версии Android Google прислал как производителю вашего телефона, так и производителю чипов для него обновленные спецификации и тестовые наборы (и исходный код полурабочей новой версии Android, но это последнее, что всех волнует).
Никто особо не надеялся, что обновленные тесты заработают на старом чипе.
Они не заработали никаких денег.
Производитель вашего Android-чипа в принципе мог бы за большие деньги (которые ему никто не заплатит) нанять программистов, чтобы они впихнули в драйвера еще больше хаков, чтобы новые тесты работали, но в лучшем случае программисты, работавшие над этими драйверами, умерли от передозировки кофеина, в худшем случае пишут хаки для нового поколения микросхем (за те два года, которые мы пропустили, это уже третье новое поколение).
Поэтому производитель чипов сначала разводит руками – обновлять БСП для старой линейки экономически нецелесообразно.
Тут производитель вашего телефона разводит руками - что же ему делать без обновленного BSP? Новый Android просто не будет работать так, как хочет Google (или вообще не будет).
Тогда вы разводите руки и покупаете новый телефон с новым Андроидом.
Я уже говорил, что в сложившейся ситуации виноваты лично Вы?
-
Оптимизация Производительности Аудиопроектов
19 Oct, 24 -
Онлайн-Встреча Для Android-Разработчиков
19 Oct, 24 -
Альянс На Локации
19 Oct, 24 -
Смарт-Карты. Часть 1. Принципы Работы
19 Oct, 24