На этой странице представлены сведения о запуске сборок на определенных устройствах. Эти детали дополняют информацию в разделе «Сборка 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), имеют защиту от сброса настроек и требуют многоэтапной процедуры разблокировки загрузчика.
- Чтобы включить OEM-разблокировку на устройстве:
- В настройках коснитесь «О телефоне» и семь раз коснитесь «Номер сборки» .
- Когда вы увидите сообщение «Теперь вы разработчик!» , нажмите кнопку «Назад» .
- В меню «Настройки» нажмите «Система» , затем нажмите «Параметры разработчика» и включите OEM-разблокировку и отладку по USB . (Если разблокировка OEM отключена, подключитесь к Интернету, чтобы устройство могло зарегистрироваться хотя бы один раз. Если она остается отключенной, возможно, SIM-карта вашего устройства заблокирована вашим оператором связи, и загрузчик не может быть разблокирован.)
- Перезагрузитесь в загрузчик и используйте
fastboot
, чтобы разблокировать его.- Для более новых устройств (2015 года и новее):
fastboot flashing unlock
- Для старых устройств (2014 года и ниже):
fastboot oem unlock
- Для более новых устройств (2015 года и новее):
- Подтвердите разблокировку на экране.
Повторная блокировка загрузчика
Чтобы повторно заблокировать загрузчик:
- Для более новых устройств (2015 года и новее):
fastboot flashing lock
- Для старых устройств (2014 года и ниже):
fastboot oem lock
Использование состояний блокировки вспышки
Системный API getFlashLockState()
передает состояние загрузчика, а системный API PersistentDataBlockManager.getFlashLockState()
возвращает состояние блокировки загрузчика на совместимых устройствах.
Возвращаемое значение | Условия |
---|---|
FLASH_LOCK_UNKNOWN | Возвращается только устройствами, обновляющимися до Android 7.x или выше, которые ранее не поддерживали изменения загрузчика, необходимые для получения статуса блокировки флэш-памяти, если они поддерживают возможность флэш-блокировки/разблокировки.
|
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
.
Чтобы прошить устройство:
- Разархивируйте файл изображения в отдельный каталог.
- Установите переменную среды
ANDROID_PRODUCT_OUT
, чтобы она указывала на тот же каталог, который использовался на шаге 1. - Переведите устройство в режим
fastboot
, удерживая соответствующую комбинацию клавиш при загрузке или используя следующую команду:adb reboot bootloader
- После того, как устройство перейдет в режим быстрой загрузки, запустите:
fastboot flashall -w
Параметр-w
удаляет раздел/data
на устройстве; это полезно при первой прошивке конкретного устройства, но в остальном в этом нет необходимости.
Прошивка конфигураций
Инструкции по быстрой загрузке прописаны в артефакте под названием fastboot-info.txt, который находится в $ANDROID_PRODUCT_OUT/*
Этот документ в формате .txt содержит список задач для выполнения быстрой загрузки и может быть повторно создан с помощью m fastboot_info
. Пользовательскую логику перепрошивки можно ввести, изменив этот файл.
поддерживаемые команды:
- flash %s : Прошить указанный раздел. Необязательные аргументы включают
--slot-other, {filename_path}, --apply-vbmeta
- update-super : обновляет суперраздел.
- if-wipe : Условно запускать некоторые другие функции, если указана очистка.
- стереть %s : Удалить данный раздел (можно использовать только совместно) с помощью if-wipe -> например.
if-wipe erase cache
Восстановление устройств до заводского состояния
Заводские изображения для устройств Google доступны на странице Заводские изображения для устройств Nexus и Pixel . Заводские изображения Motorola Xoom распространяются непосредственно компанией Motorola.
Устранение ошибок, связанных с отказом в разрешении
По умолчанию в большинстве систем Linux непривилегированные пользователи не имеют доступа к USB-портам. Если вы видите ошибку «Отказано в разрешении», обратитесь к инструкциям Android Studio по настройке устройства для разработки .
Если ADB уже запущен и не может подключиться к устройству, вы можете остановить ADB с помощью adb kill-server
. Эта команда приводит к перезапуску ADB с новой конфигурацией.