Прошивочные устройства

На этой странице представлены сведения о запуске сборок на определенных устройствах. Эти детали дополняют информацию в разделе «Сборка Android» .

Сборка fastboot и adb

Если у вас еще нет fastboot и adb , вы можете собрать их с помощью обычной системы сборки. Используйте инструкции по сборке Android и замените основную команду make следующей:

make fastboot adb

Дополнительные сведения о Android Debug Bridge (ADB) см. в разделе Android Debug Bridge (ADB).

Загрузка в режиме быстрой загрузки

Вы можете прошить устройство, когда оно находится в режиме загрузчика fastboot . Чтобы войти в режим fastboot , когда устройство находится в режиме «холодной загрузки», используйте комбинации клавиш, перечисленные в разделе «Комбинации клавиш быстрой загрузки».

Вы также можете использовать команду adb reboot bootloader для перезагрузки непосредственно в загрузчик. Полные инструкции см. в инструкциях по перепрошивке .

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

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

Разблокировать загрузчик необходимо только один раз, при необходимости его можно повторно заблокировать.

Разблокировка последних устройств

Все устройства Nexus и Pixel, выпущенные с 2014 года (начиная с Nexus 6 и Nexus 9), имеют защиту от сброса настроек и требуют многоэтапной процедуры разблокировки загрузчика.

  1. Чтобы включить OEM-разблокировку на устройстве:
    1. В настройках коснитесь «О телефоне» и семь раз коснитесь «Номер сборки» .
    2. Когда вы увидите сообщение «Теперь вы разработчик!» , нажмите кнопку «Назад» .
    3. В меню «Настройки» нажмите «Система» , затем нажмите «Параметры разработчика» и включите OEM-разблокировку и отладку по USB . (Если разблокировка OEM отключена, подключитесь к Интернету, чтобы устройство могло зарегистрироваться хотя бы один раз. Если она остается отключенной, возможно, SIM-карта вашего устройства заблокирована вашим оператором связи, и загрузчик не может быть разблокирован.)
  2. Перезагрузитесь в загрузчик и используйте fastboot , чтобы разблокировать его.
    • Для более новых устройств (2015 года и новее):
      fastboot flashing unlock
    • Для старых устройств (2014 года и ниже):
      fastboot oem unlock
    Совет: если перед перезагрузкой вы видите вывод adb devices, но fastboot или скрипт flash работают неправильно, возможно, проблема связана с USB-кабелем. Попробуйте другой порт и/или коммутационные разъемы. Если вы используете порт USB C на своем компьютере, попробуйте вместо этого порт USB A.
  3. Подтвердите разблокировку на экране.

Повторная блокировка загрузчика

Чтобы повторно заблокировать загрузчик:

  • Для более новых устройств (2015 года и новее):
    fastboot flashing lock
  • Для старых устройств (2014 года и ниже):
    fastboot oem lock

Использование состояний блокировки вспышки

Системный API getFlashLockState() передает состояние загрузчика, а системный API PersistentDataBlockManager.getFlashLockState() возвращает состояние блокировки загрузчика на совместимых устройствах.

Возвращаемое значение Условия
FLASH_LOCK_UNKNOWN Возвращается только устройствами, обновляющимися до Android 7.x или выше, которые ранее не поддерживали изменения загрузчика, необходимые для получения статуса блокировки флэш-памяти, если они поддерживают возможность флэш-блокировки/разблокировки.
  • Новые устройства под управлением Android 7.x или более поздней версии должны находиться в состоянии FLASH_LOCK_LOCKED или FLASH_LOCK_UNLOCKED .
  • Устройства, обновляющиеся до Android 7.x или выше, которые не поддерживают возможность мигающей разблокировки/блокировки, должны возвращать состояние FLASH_LOCK_LOCKED .
FLASH_LOCK_LOCKED Возвращается любым устройством, которое не поддерживает мигающую блокировку/разблокировку (то есть устройство всегда заблокировано), или любым устройством, которое поддерживает мигающую блокировку/разблокировку и находится в заблокированном состоянии.
FLASH_LOCK_UNLOCKED Возвращается любым устройством, которое поддерживает блокировку/разблокировку прошивки и находится в разблокированном состоянии.

Производителям следует проверять значения, возвращаемые устройствами с заблокированным и разблокированным загрузчиком. Например, проект Android с открытым исходным кодом (AOSP) содержит эталонную реализацию, которая возвращает значение на основе свойства загрузки ro.boot.flash.locked . Пример кода находится в следующих каталогах:

  • frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
  • frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java

Выбор сборки устройства

Рекомендуемые сборки устройств доступны в меню lunch , доступ к которому осуществляется при запуске команды lunch без аргументов. Дополнительную информацию о команде lunch см. в разделе «Выбор цели» . Список целей сборки см. в разделе Цели сборки .

Заводские образы и двоичные файлы для устройств Pixel и Nexus можно загрузить с сайта Developers.google.com . См. двоичные файлы устройств для загрузки. Подробности и дополнительные ресурсы см. в разделе Получение проприетарных двоичных файлов .

Устройство Кодовое имя Конфигурация сборки
Пиксель 7 Про гепард aosp_cheetah-userdebug
Пиксель 7 пантера aosp_panther-userdebug
Пиксель 6 Про ворон aosp_raven-userdebug
Пиксель 6 иволга aosp_oriole-userdebug
Пиксель 5 красноперка aosp_redfin-userdebug
Пиксель 4а 5G ежевика aosp_bramble-userdebug
Пиксель 4а рыба-солнечник aosp_sunfish-userdebug
Пиксель 4 XL коралл aosp_coral-userdebug
Пиксель 4 пламя aosp_flame-userdebug
Пиксель 3а XL скумбрия aosp_bonito-userdebug
Пиксель 3а сарго aosp_sargo-userdebug
Пиксель 3 XL штриховка aosp_crosshatch-userdebug
Пиксель 3 Синяя линия aosp_blueline-userdebug
Пиксель 2 XL таймень aosp_taimen-userdebug
Пиксель 2 судак aosp_walleye-userdebug
Пиксель XL марлин aosp_marlin-userdebug
Пиксель парусник aosp_sailfish-userdebug
HiKey походный hikey-userdebug
Нексус 6П морской черт aosp_angler-userdebug
Нексус 5X бычок aosp_bullhead-userdebug
Нексус 6 шаму aosp_shamu-userdebug
Нексус-плеер фугу aosp_fugu-userdebug
Нексус 9 волантис (камбала) aosp_flounder-userdebug
Нексус 5 (GSM/LTE) голова-молот aosp_hammerhead-userdebug
Нексус 7 (Wi-Fi) бритва (фло) aosp_flo-userdebug
Нексус 7 (мобильный) Разорг (деб) aosp_deb-userdebug
Нексус 10 мантарай (манта) full_manta-userdebug
Нексус 4 оккам (мако) full_mako-userdebug
Нексус 7 (Wi-Fi) накаси (окунь) full_grouper-userdebug
Нексус 7 (мобильный) накасиг (тилапия) full_tilapia-userdebug
Галактика Нексус (GSM/HSPA+) якью (магуро) full_maguro-userdebug
Галактика Нексус (Verizon) мисид (торо) √aosp_toro-userdebug
Галактика Нексус (Экспериментальный) мисидспр (тороплюс) aosp_toroplus-userdebug
Motorola Xoom (Wi-Fi в США) Винрей full_wingray-userdebug
Нексус С соджу (креспо) full_crespo-userdebug
Нексус С 4G соджус (crespo4g) full_crespo4g-userdebug

Прошивка устройства

Вы можете прошить всю систему Android одной командой; при этом проверяется, что прошиваемая система совместима с установленным загрузчиком и радиомодемом, записывается вместе загрузочный, восстановительный и системный разделы, а затем перезагружается система. При перепрошивке также стираются все пользовательские данные, аналогично fastboot oem unlock .

Чтобы прошить устройство:

  1. Разархивируйте файл изображения в отдельный каталог.
  2. Установите переменную среды ANDROID_PRODUCT_OUT , чтобы она указывала на тот же каталог, который использовался на шаге 1.
  3. Переведите устройство в режим fastboot , удерживая соответствующую комбинацию клавиш при загрузке или используя следующую команду:
    adb reboot bootloader
  4. После того, как устройство перейдет в режим быстрой загрузки, запустите:
    fastboot flashall -w
    Параметр -w удаляет раздел /data на устройстве; это полезно при первой прошивке конкретного устройства, но в остальном в этом нет необходимости.

Прошивка конфигураций

Инструкции по быстрой загрузке прописаны в артефакте под названием fastboot-info.txt, который находится в $ANDROID_PRODUCT_OUT/* Этот документ в формате .txt содержит список задач для выполнения быстрой загрузки и может быть повторно создан с помощью m fastboot_info . Пользовательскую логику перепрошивки можно ввести, изменив этот файл.

поддерживаемые команды:

  1. flash %s : Прошить указанный раздел. Необязательные аргументы включают --slot-other, {filename_path}, --apply-vbmeta
  2. update-super : обновляет суперраздел.
  3. if-wipe : Условно запускать некоторые другие функции, если указана очистка.
  4. стереть %s : Удалить данный раздел (можно использовать только совместно) с помощью if-wipe -> например. if-wipe erase cache

Восстановление устройств до заводского состояния

Заводские изображения для устройств Google доступны на странице Заводские изображения для устройств Nexus и Pixel . Заводские изображения Motorola Xoom распространяются непосредственно компанией Motorola.

Устранение ошибок, связанных с отказом в разрешении

По умолчанию в большинстве систем Linux непривилегированные пользователи не имеют доступа к USB-портам. Если вы видите ошибку «Отказано в разрешении», обратитесь к инструкциям Android Studio по настройке устройства для разработки .

Если ADB уже запущен и не может подключиться к устройству, вы можете остановить ADB с помощью adb kill-server . Эта команда приводит к перезапуску ADB с новой конфигурацией.