Na tej stronie znajdują się szczegółowe informacje dotyczące uruchamiania kompilacji na określonych urządzeniach. Te szczegóły uzupełniają informacje w części Budowanie systemu Android .
Budowanie fastboota i adb
Jeśli nie masz jeszcze fastboot
i adb
, możesz je zbudować za pomocą zwykłego systemu kompilacji. Skorzystaj z instrukcji w Budowanie systemu Android i zastąp główne polecenie make
tym:
make fastboot adb
Aby uzyskać szczegółowe informacje na temat mostka debugowania systemu Android (ADB), zobacz Most debugowania systemu Android (ADB).
Uruchamianie w trybie fastboot
Możesz flashować urządzenie, gdy jest ono w trybie bootloadera fastboot
. Aby przejść do trybu fastboot
, gdy urządzenie przechodzi zimny rozruch, użyj kombinacji klawiszy wymienionych w Kombinacje klawiszy Fastboot.
Możesz także użyć polecenia adb reboot bootloader
aby ponownie uruchomić komputer bezpośrednio w programie ładującym. Pełne instrukcje można znaleźć w instrukcjach flashowania .
Odblokowanie bootloadera
Możesz flashować niestandardowy system tylko wtedy, gdy pozwala na to bootloader. Należy jednak pamiętać, że bootloader jest domyślnie zablokowany. Możesz odblokować program ładujący, ale spowoduje to usunięcie danych użytkownika ze względu na prywatność. Po odblokowaniu usuwane są wszystkie dane z urządzenia, czyli zarówno prywatne dane aplikacji, jak i udostępnione dane dostępne przez USB (w tym zdjęcia i filmy). Przed próbą odblokowania bootloadera wykonaj kopię zapasową wszystkich ważnych plików na urządzeniu.
Musisz odblokować bootloader tylko raz i w razie potrzeby możesz go ponownie zablokować.
Odblokowywanie ostatnich urządzeń
Wszystkie urządzenia Nexus i Pixel wydane od 2014 r. (począwszy od Nexusa 6 i Nexusa 9) mają przywracane ustawienia fabryczne, a odblokowanie programu ładującego wymaga wieloetapowego procesu.
- Aby włączyć odblokowanie OEM na urządzeniu:
- W Ustawieniach dotknij Informacje o telefonie , a następnie siedem razy dotknij Numer kompilacji .
- Gdy zobaczysz komunikat Jesteś teraz programistą! , naciśnij przycisk Wstecz .
- W Ustawieniach dotknij System , następnie Opcje programisty i włącz odblokowywanie OEM i debugowanie USB . (Jeśli odblokowanie OEM jest wyłączone, połącz się z Internetem, aby urządzenie mogło zalogować się przynajmniej raz. Jeśli pozostaje wyłączone, karta SIM Twojego urządzenia może być zablokowana przez operatora i nie można odblokować programu ładującego.)
- Uruchom ponownie bootloader i użyj
fastboot
, aby go odblokować.- W przypadku nowszych urządzeń (2015 i nowsze):
fastboot flashing unlock
- W przypadku starszych urządzeń (2014 i starsze):
fastboot oem unlock
- W przypadku nowszych urządzeń (2015 i nowsze):
- Potwierdź odblokowanie na ekranie.
Ponowne zablokowanie bootloadera
Aby ponownie zablokować bootloader:
- W przypadku nowszych urządzeń (2015 i nowsze):
fastboot flashing lock
- W przypadku starszych urządzeń (2014 i starsze):
fastboot oem lock
Korzystanie ze stanów blokady lampy błyskowej
Funkcja API systemu getFlashLockState()
przesyła stan programu ładującego, a funkcja API systemu PersistentDataBlockManager.getFlashLockState()
zwraca stan blokady programu ładującego na zgodnych urządzeniach.
Wartość zwracana | Warunki |
---|---|
FLASH_LOCK_UNKNOWN | Zwracane tylko w przypadku urządzeń zaktualizowanych do wersji Android 7.x lub nowszej, które wcześniej nie obsługiwały zmian w programie ładującym wymaganych do uzyskania stanu blokady pamięci flash, jeśli obsługiwały funkcję blokowania/odblokowywania pamięci flash.
|
FLASH_LOCK_LOCKED | Zwracany przez dowolne urządzenie, które nie obsługuje migającego blokowania/odblokowywania (tzn. urządzenie jest zawsze zablokowane) lub dowolne urządzenie, które obsługuje migające blokowanie/odblokowywanie i jest w stanie zablokowanym. |
FLASH_LOCK_UNLOCKED | Zwrócone przez dowolne urządzenie obsługujące flashowanie blokady/odblokowania i będące w stanie odblokowanym. |
Producenci powinni przetestować wartości zwracane przez urządzenia z zablokowanymi i odblokowanymi programami ładującymi. Na przykład projekt Android Open Source Project (AOSP) zawiera implementację referencyjną, która zwraca wartość na podstawie właściwości rozruchowej ro.boot.flash.locked
. Przykładowy kod znajduje się w następujących katalogach:
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
-
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java
Wybór wersji urządzenia
Zalecane kompilacje urządzeń są dostępne w menu lunch
, do którego można uzyskać dostęp po uruchomieniu polecenia lunch
bez argumentów. Aby uzyskać dodatkowe informacje na temat polecenia lunch
, zobacz Wybieranie celu . Aby zapoznać się z listą celów kompilacji, zobacz Cele kompilacji .
Możesz pobrać obrazy fabryczne i pliki binarne urządzeń Pixel i Nexus ze strony Developers.google.com . Aby zapoznać się z plikami do pobrania, zobacz pliki binarne urządzenia . Aby uzyskać szczegółowe informacje i dodatkowe zasoby, zobacz Uzyskiwanie zastrzeżonych plików binarnych .
Urządzenie | Kryptonim | Konfiguracja kompilacji |
---|---|---|
Pixela 7 Pro | gepard | aosp_cheetah-userdebug |
Piksel 7 | pantera | aosp_panther-userdebug |
Pixela 6 Pro | kruk | aosp_raven-userdebug |
Piksel 6 | wilga | aosp_oriole-userdebug |
Piksel 5 | redfin | aosp_redfin-userdebug |
Piksel 4a 5G | cierń | aosp_bramble-userdebug |
Piksel 4a | słoneczna ryba | aosp_sunfish-userdebug |
Pixela 4XL | koral | aosp_coral-userdebug |
Piksel 4 | płomień | aosp_flame-userdebug |
Pixela 3a XL | bonito | aosp_bonito-userdebug |
Piksel 3a | sargo | aosp_sargo-userdebug |
Piksel 3 XL | kreskowanie | aosp_crosshatch-userdebug |
Piksel 3 | niebieska Linia | aosp_blueline-userdebug |
Piksel 2XL | tajmen | aosp_taimen-userdebug |
Piksel 2 | sandacz | aosp_walleye-userdebug |
Piksel XL | marlin | aosp_marlin-userdebug |
Piksel | żaglica | aosp_sailfish-userdebug |
HiKey | wycieczka | hikey-userdebug |
Nexusa 6P | wędkarz | aosp_angler-userdebug |
Nexusa 5X | byczek | aosp_bullhead-userdebug |
Nexusa 6 | szamu | aosp_shamu-userdebug |
Gracz Nexusa | fugu | aosp_fugu-userdebug |
Nexusa 9 | volantis (flądra) | aosp_flounder-userdebug |
Nexus 5 (GSM/LTE) | młotek | aosp_hammerhead-userdebug |
Nexus 7 (Wi-Fi) | brzytwa (flo) | aosp_flo-userdebug |
Nexus 7 (komórkowy) | razorg (deb) | aosp_deb-userdebug |
Nexusa 10 | mantara (manta) | full_manta-userdebug |
Nexus 4 | occam (mako) | full_mako-userdebug |
Nexus 7 (Wi-Fi) | nakasi (grupnik) | full_grouper-userdebug |
Nexus 7 (komórkowy) | nakasig (tilapia) | full_tilapia-userdebug |
Galaxy Nexus (GSM/HSPA+) | jakju (maguro) | full_maguro-userdebug |
Galaxy Nexus (Verizon) | mysid (toro) | √aosp_toro-userdebug |
Galaxy Nexus (eksperymentalny) | mysidspr (toroplus) | aosp_toroplus-userdebug |
Motorola Xoom (Wi-Fi w USA) | skrzydłowy | full_wingray-userdebug |
Nexus S | soju (crespo) | full_crespo-userdebug |
Nexusa S 4G | sojus (crespo4g) | full_crespo4g-userdebug |
Flashowanie urządzenia
Możesz sflashować cały system Android za pomocą jednego polecenia; w ten sposób sprawdza się, czy flashowany system jest kompatybilny z zainstalowanym programem ładującym i radiem, zapisuje razem partycje rozruchową, odzyskiwania i systemową, a następnie uruchamia ponownie system. Flashowanie usuwa również wszystkie dane użytkownika, podobnie jak fastboot oem unlock
.
Aby sflashować urządzenie:
- Rozpakuj plik obrazu do własnego katalogu.
- Ustaw zmienną środowiskową
ANDROID_PRODUCT_OUT
tak, aby wskazywała ten sam katalog, który został użyty w kroku 1. - Przełącz urządzenie w tryb
fastboot
, przytrzymując odpowiednią kombinację klawiszy podczas uruchamiania lub używając następującego polecenia:adb reboot bootloader
- Gdy urządzenie znajdzie się w trybie szybkiego uruchamiania, uruchom:
fastboot flashall -w
Opcja-w
czyści partycję/data
na urządzeniu; jest to przydatne przy pierwszym flashowaniu określonego urządzenia, ale poza tym jest niepotrzebne.
Flashowanie konfiguracji
Instrukcje Fastboot są zapisane w artefakcie o nazwie fastboot-info.txt, który znajduje się w $ANDROID_PRODUCT_OUT/*
Ta dokumentacja .txt zawiera listę zadań do wykonania przez fastboot i może zostać ponownie wygenerowana poprzez m fastboot_info
. Modyfikując ten plik, można wprowadzić niestandardową logikę flashowania
obsługiwane polecenia:
- flash %s : Flashowanie danej partycji. Opcjonalne argumenty to
--slot-other, {filename_path}, --apply-vbmeta
- update-super : Aktualizuje super partycję
- if-wipe : Warunkowo uruchom inną funkcję, jeśli określono opcję czyszczenia
- Erase %s : Usuń daną partycję (można użyć tylko w połączeniu) za pomocą if-wipe -> np.
if-wipe erase cache
Przywracanie urządzeń do stanu fabrycznego
Obrazy fabryczne dla urządzeń Google są dostępne w sekcji Obrazy fabryczne dla urządzeń Nexus i Pixel . Obrazy fabryczne Motorola Xoom są dystrybuowane bezpośrednio przez firmę Motorola.
Rozwiąż błędy związane z odmową uprawnień
Domyślnie w większości systemów Linux nieuprzywilejowani użytkownicy nie mają dostępu do portów USB. Jeśli zobaczysz błąd odmowy uprawnień, zapoznaj się z instrukcjami Android Studio dotyczącymi Konfigurowania urządzenia do programowania .
Jeśli ADB był już uruchomiony i nie może połączyć się z urządzeniem, możesz zatrzymać ADB za pomocą adb kill-server
. To polecenie powoduje ponowne uruchomienie ADB z nową konfiguracją.