Questa pagina fornisce i dettagli per l'esecuzione di build su dispositivi specifici. Questi dettagli completano le informazioni contenute in Building Android .
Crea fastboot e adb
Se non disponi già fastboot
e adb
, puoi crearli con il normale sistema di build. Utilizza le istruzioni in Creazione di Android e sostituisci il comando make
principale con questo:
make fastboot adb
Vedi Android Debug Bridge (adb) per i dettagli su Android Debug Bridge (adb).
Avvia in modalità fastboot
Puoi eseguire il flashing di un dispositivo quando è in modalità bootloader fastboot
. Per accedere alla modalità fastboot
quando un dispositivo sta eseguendo un avvio a freddo, utilizzare le combinazioni di tasti elencate in Combinazioni di tasti di avvio rapido.
Puoi anche utilizzare il comando adb reboot bootloader
per riavviare direttamente nel bootloader. Per le istruzioni complete, vedere Istruzioni lampeggianti .
Sblocca il bootloader
Puoi eseguire il flashing di un sistema personalizzato solo se il bootloader lo consente. Tieni presente, tuttavia, che il bootloader è bloccato per impostazione predefinita. È possibile sbloccare il bootloader, ma così facendo si eliminano i dati dell'utente per motivi di privacy. Dopo lo sblocco, tutti i dati sul dispositivo vengono cancellati, ovvero sia i dati delle app private che i dati condivisi accessibili tramite USB (incluse foto e filmati). Prima di tentare di sbloccare il bootloader, esegui il backup di tutti i file importanti sul dispositivo.
Devi sbloccare il bootloader solo una volta e puoi bloccarlo nuovamente se necessario.
Sblocca i dispositivi recenti
Tutti i dispositivi Nexus e Pixel rilasciati dal 2014 (a partire da Nexus 6 e Nexus 9) dispongono di una protezione con ripristino delle impostazioni di fabbrica e richiedono un processo in più fasi per sbloccare il bootloader.
- Per abilitare lo sblocco OEM sul dispositivo:
- In Impostazioni, tocca Informazioni sul telefono , quindi tocca Numero build sette volte.
- Quando vedi il messaggio Ora sei uno sviluppatore! , tocca il pulsante Indietro .
- In Impostazioni, tocca Sistema , quindi tocca Opzioni sviluppatore e attiva lo sblocco OEM e il debug USB . (Se lo sblocco OEM è disabilitato, connettiti a Internet in modo che il dispositivo possa effettuare il check-in almeno una volta. Se rimane disabilitato, la SIM del tuo dispositivo potrebbe essere bloccata dal tuo operatore e il bootloader non può essere sbloccato.)
- Riavvia nel bootloader e usa
fastboot
per sbloccarlo.- Per i dispositivi più recenti (2015 e versioni successive):
fastboot flashing unlock
- Per dispositivi meno recenti (2014 e precedenti):
fastboot oem unlock
- Per i dispositivi più recenti (2015 e versioni successive):
- Conferma lo sblocco sullo schermo.
Blocca nuovamente il bootloader
Per bloccare nuovamente il bootloader:
- Per i dispositivi più recenti (2015 e versioni successive):
fastboot flashing lock
- Per dispositivi meno recenti (2014 e precedenti):
fastboot oem lock
Utilizza gli stati di blocco del flash
L'API di sistema getFlashLockState()
trasmette lo stato del bootloader e l'API di sistema PersistentDataBlockManager.getFlashLockState()
restituisce lo stato di blocco del bootloader sui dispositivi conformi.
Valore di ritorno | Condizioni |
---|---|
FLASH_LOCK_UNKNOWN | Restituito solo dai dispositivi che eseguono l'aggiornamento ad Android 7.x o versioni successive che non supportavano in precedenza le modifiche del bootloader necessarie per ottenere lo stato di blocco flash se supportavano la funzionalità di blocco/sblocco flash.
|
FLASH_LOCK_LOCKED | Restituito da qualsiasi dispositivo che non supporta il blocco/sblocco lampeggiante (ovvero, il dispositivo è sempre bloccato) o qualsiasi dispositivo che supporta il blocco/sblocco lampeggiante e si trova nello stato bloccato. |
FLASH_LOCK_UNLOCKED | Restituito da qualsiasi dispositivo che supporta il blocco/sblocco lampeggiante ed è nello stato sbloccato. |
I produttori dovrebbero testare i valori restituiti dai dispositivi con bootloader bloccati e sbloccati. Ad esempio, Android Open Source Project (AOSP) contiene un'implementazione di riferimento che restituisce un valore basato sulla proprietà di avvio ro.boot.flash.locked
. Il codice di esempio si trova nelle seguenti directory:
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
-
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java
Seleziona una build del dispositivo
Le build del dispositivo consigliate sono disponibili dal menu lunch
, a cui si accede eseguendo il comando lunch
senza argomenti. Per ulteriori informazioni sul comando lunch
, vedere Scegliere una destinazione . Per un elenco delle destinazioni di compilazione, consulta Destinazioni di compilazione .
Puoi scaricare immagini di fabbrica e file binari per dispositivi Pixel e Nexus da sviluppatori.google.com . Vedi File binari del dispositivo per i download. Per dettagli e risorse aggiuntive, vedere Come ottenere file binari proprietari .
Dispositivo | Nome in codice | Costruisci la configurazione |
---|---|---|
Pixel 7 Pro | ghepardo | aosp_cheetah-userdebug |
Pixel7 | pantera | aosp_panther-userdebug |
Pixel 6Pro | corvo | aosp_raven-userdebug |
Pixel 6 | rigogolo | aosp_oriole-userdebug |
Pixel 5 | redfin | aosp_redfin-userdebug |
Pixel 4a 5G | rovo | aosp_bramble-userdebug |
Pixel 4a | pesce luna | aosp_sunfish-userdebug |
Pixel 4XL | corallo | aosp_coral-userdebug |
Pixel 4 | fiamma | aosp_flame-userdebug |
Pixel 3aXL | bonito | aosp_bonito-userdebug |
Pixel 3a | Sargo | aosp_sargo-userdebug |
Pixel3XL | tratteggio incrociato | aosp_crosshatch-userdebug |
Pixel 3 | linea blu | aosp_blueline-userdebug |
Pixel2XL | taimen | aosp_taimen-userdebug |
Pixel 2 | walleye | aosp_walleye-userdebug |
PixelXL | Marlin | aosp_marlin-userdebug |
Pixel | pesce vela | aosp_sailfish-userdebug |
HiKey | escursionista | hikey-userdebug |
Nesso 6P | pescatore | aosp_angler-userdebug |
Nesso 5X | scazzone | aosp_bullhead-userdebug |
Nesso 6 | shamu | aosp_shamu-userdebug |
Lettore Nexus | fugu | aosp_fugu-userdebug |
Nesso 9 | volantis (passera) | aosp_flounder-userdebug |
Nexus 5 (GSM/LTE) | testa di martello | aosp_hammerhead-userdebug |
Nexus 7 (Wi-Fi) | rasoio (flo) | aosp_flo-userdebug |
Nexus 7 (cellulare) | razorg (deb) | aosp_deb-userdebug |
Nesso 10 | mantaray (manta) | full_manta-userdebug |
Nexus 4 | occam (mako) | full_mako-userdebug |
Nexus 7 (Wi-Fi) | nakasi (cernia) | full_grouper-userdebug |
Nexus 7 (cellulare) | nakasig (tilapia) | full_tilapia-userdebug |
Galaxy Nexus (GSM/HSPA+) | yakju (maguro) | full_maguro-userdebug |
Galaxy Nexus (Verizon) | mysid (toro) | √aosp_toro-userdebug |
Galaxy Nexus (sperimentale) | mysidspr (toroplus) | aosp_toroplus-userdebug |
Motorola Xoom (Wi-Fi USA) | raggio alato | full_wingray-userdebug |
Nesso S | soju (crespo) | full_crespo-userdebug |
Nexus S4G | soju (crespo4g) | full_crespo4g-userdebug |
Flasha un dispositivo
Puoi eseguire il flashing di un intero sistema Android con un singolo comando; in questo modo si verifica che il sistema sottoposto a flashing sia compatibile con il bootloader e la radio installati, si scrive insieme le partizioni di avvio, ripristino e sistema, quindi si riavvia il sistema. Il flashing cancella anche tutti i dati dell'utente, in modo simile al fastboot oem unlock
.
Per eseguire il flashing di un dispositivo:
- Decomprimere il file immagine nella propria directory.
- Imposta la variabile di ambiente
ANDROID_PRODUCT_OUT
in modo che punti alla stessa directory utilizzata nel passaggio 1. - Posiziona il dispositivo in modalità
fastboot
tenendo premuta la combinazione di tasti appropriata all'avvio o utilizzando il seguente comando:adb reboot bootloader
- Dopo che il dispositivo è in modalità di avvio rapido, esegui:
fastboot flashall -w
L'opzione-w
cancella la partizione/data
sul dispositivo; questo è utile per la prima volta che esegui il flashing di un particolare dispositivo, ma per il resto non è necessario.
Configurazioni flash
Le istruzioni di avvio rapido sono descritte in un artefatto chiamato fastboot-info.txt che risiede in $ANDROID_PRODUCT_OUT/*
Questo elenco di documenti .txt di attività da eseguire per avvio rapido e può essere rigenerato tramite m fastboot_info
. È possibile introdurre una logica lampeggiante personalizzata modificando questo file
comandi supportati:
- flash %s : esegue il flashing di una determinata partizione. Gli argomenti facoltativi includono
--slot-other, {filename_path}, --apply-vbmeta
- update-super : aggiorna la partizione super
- if-wipe : esegue in modo condizionale qualche altra funzionalità se è specificata la cancellazione
- cancella %s : cancella una determinata partizione (può essere utilizzata solo insieme) con if-wipe -> es.
if-wipe erase cache
Ripristina i dispositivi allo stato di fabbrica
Le immagini di fabbrica per i dispositivi Google sono disponibili da Immagini di fabbrica per dispositivi Nexus e Pixel . Le immagini di fabbrica per il Motorola Xoom sono distribuite direttamente da Motorola.
Risolvi gli errori di autorizzazione negata
Per impostazione predefinita sulla maggior parte dei sistemi Linux, gli utenti non privilegiati non possono accedere alle porte USB. Se viene visualizzato un errore di autorizzazione negata, fare riferimento alle istruzioni di Android Studio per configurare un dispositivo per lo sviluppo .
Se adb era già in esecuzione e non riesci a connetterti al dispositivo, puoi interrompere adb con adb kill-server
. Questo comando fa riavviare adb con la nuova configurazione.