Перепрошивка Nexus 7 3G (2012) на Android 7.1


Недавно мне попался в руки полумертвый планшет Nexus 7 2012 года выпуска. У него были проблемы с зарядкой, расходом батареи, а тормозил он так, что пользоваться им было решительно невозможно. На нем стояла стоковая прошивка, с которой он был на момент покупки, а именно Android 4.4. Сброс до заводских настроек и последующий апдейт до последней официальной сборки (5.1) только усугубили проблему: тормозить и разряжаться он стал только сильнее.

С горем пополам зарядив устройство, я решил разобраться сначала с софтом, а дальше думать что делать с батареей. После беглого изучения форумов было принято решение поставить обычный AOSP 7.1. Ниже приведу шаги, которые я прошёл, для настройки устройства. Если вы занимались прошивкой устройств на Android ранее, то скорее всего не найдёте для себя ничего нового, я же последний раз делал это в студенческие годы и чувствовал себя не очень уверенно, поэтому задокументировал основные шаги.

Установка ADB и FastBoot на macOS

Установить Homebrew и Homebrew Cask если не установлены, дальше выполнить следующие команды:

brew tap caskroom/versions
brew cask install java8
touch ~/.android/repositories.cfg
brew cask install android-sdk
sdkmanager "platform-tools" "platforms;android-28”
echo 'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"' >> ~/.bash_profile
echo 'export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools' >> ~/.bash_profile
source ~/.bash_profile

Обращу внимание, что ставится Java 8, а не последняя версия, т.к. с 11 версией, мне не удалось заставить работать sdkmanager.

Проверим, что все выполнилось корректно:

adb devices

Должен вывестись список подключенных девайсов (или пустой список, если таковых нет), а не ошибка.

Активируем режим разработчика на планшете. Переходим в пункт настроек Settings > About tablet > Build number, нажимаем на него 7 раз подряд.

Далее идем и включаем пункт Settings > Developer Options > USB Debugging.

Подключаем планшет к компьютеру, разрешаем на планшете подключение в дебаг-режиме. После этого команда adb devices должна показывать в списке наш планшет.

Разблокируем загрузчик

Загрузчик отвечает за проверку и начальную инициализацию всех компонентов, а также за загрузку операционной системы. Обычно производители не хотят, чтобы пользователь вмешивался в эту часть системы поэтому возможность его модификации отключена, а сам загрузчик зашифрован, но не в нашем случае, т.к. в свое время устройства линейки Nexus позиционировались в том числе и как устройства для разработчиков.

Перезагружаем планшет в режим загрузчика:

adb reboot bootloader

На Nexus 7 загрузчик не зашифрован, поэтому все что нужно сделать, это выполнить команду:

fastboot oem unlock

Устанавливаем сторонний раздел восстановления

Раздел восстановления (recovery) позволяет выполнять нам базовые операции по обслуживанию устройства, чтобы получить все необходимые возможности, нужно установить сторонний образ раздела восстановления. На момент написания статьи самым популярным является TWRP.

Скачиваем последнюю версию образа TWRP. После чего выполняем команду:

fastboot flash recovery /Users/michael/Downloads/twrp-3.2.3-0-tilapia.img

Здесь нужно заменить указанный путь на путь к своему образу рекавери. Далее перезагружаемся из загрузчика в режим восстановления.

Устанавливаем стороннюю прошивку

TWRP монтирует флеш-карту, поэтому можно сразу перекинуть всё необходимое через Android File Transfer (в формате zip-файлов, заранее ничего распаковывать не нужно):

  • Прошивка AOSP 7 c XDA Developers. На момент написания статьи, автор регулярно её обновляет, включаяя исправления безопасности, а также активно общается на форуме, так что в случае проблем есть кому задать вопрос. Тут стоит обратить внимание, что для 3G и Wi-Fi версии прошивки отличаются и вы должны скачать нужную.
  • Приложения Google. Нас интересует сборка для ARM, Android 7.1, вариант pico.
  • Исправление бага в мастере начальной настройки. Для тех у кого падает мастер начальной настройки. Если вы ставите чистый Android, без приложений Google, то этот фикс накатывать не нужно иначе зависнете на этапе поиска обновлений.
  • Если нужен root-доступ, то качаем Magisk. Мне он понадобился, чтобы попытаться разобраться с причинами быстрой разрядки аккумулятора через WakeLock Detector.

Далее в TWRP переходим в раздел Wipe и делаем очистку (ту, которая на этом экране предлагается по-умолчанию).

Затем в разделе Install выбираем и устанавливаем zip-файл нашей прошивки, перезагружаемся в Android (на 4pda рекомендуют делать сброс кэша, я не делал, т.к. не вижу в этом смысла, но если у вас что-то работает не так, можно попробовать в качестве шаманства), перезагружаемся обратно в TWRP, далее аналогично прошивке устанавливаем GApps, а затем упомянутый фикс (именно в таком порядке, пробовал ставить сначала фикс, потом GApps — не сработало). После чего перезагружаемся, у вас должна загрузиться свежая система. После первичной загрузки, можно вернуться и установить Magisk: автор прошивки не рекомендует устанавливать его вместе с системой, так как в некоторых случаях это приводит к бесконечным перезагрузкам.

Впечатления

Перед нами самая минимальная версия Android. Так как мы устанавливали версию GApps pico, то из Google-сервисов доступен только Play Store.

Работает даже визуально быстро: меню и рабочие столы листаются без задержек, приложения запускаются с минимальными задержками.

Работа с привычными приложениями (YouTube, Evernote, FBReader, Яндекс.Радио) не вызывает дискомфорта. Планшет при его скромных характеристиках работает очень достойно (насколько это возможно с 1 ГБ ОЗУ) и легко может получить вторую жизнь в качестве автомобильного планшета, читалки, пульта управления умным домом, а может быть даже и основного устройства для нетребовательного пользователя.

Nexus 7 по праву можно назвать народным устройством. На него можно поставить практически любую сборку Android, многие популярные дистрибутивы Linux и даже экзотику вроде Sailfish. Его очень легко разобрать, а комплектующие до сих пор можно найти на AliExpress. Хотя он вышел 6 лет назад, до сих пор вокруг него довольно активное сообщество, а энтузиасты регулярно обновляют дистрибутивы. У меня есть iPad mini первого поколения, который, являясь ровесником Nexus 7, выглядит не так бодро, а перспективы что-то с ним сделать практически равны нулю. Очень жаль что Google перестал развивать эту линейку.

Ссылки