Halaman ini memberikan detail untuk menjalankan build pada perangkat tertentu. Detail ini melengkapi informasi dalam Membangun Android .
Membangun fastboot dan adb
Jika Anda belum memiliki fastboot
dan adb
, Anda dapat membangunnya dengan sistem build reguler. Gunakan instruksi dalam Membangun Android dan ganti perintah make
utama dengan yang ini:
make fastboot adb
Lihat Android Debug Bridge (ADB) untuk mengetahui detail tentang Android Debug Bridge (ADB).
Boot ke mode fastboot
Anda dapat mem-flash perangkat saat berada dalam mode fastboot
bootloader. Untuk masuk ke mode fastboot
saat perangkat sedang menjalani cold boot, gunakan kombinasi tombol yang tercantum dalam kombinasi tombol Fastboot.
Anda juga dapat menggunakan perintah adb reboot bootloader
untuk melakukan reboot langsung ke bootloader. Lihat instruksi Flashing untuk instruksi lengkap.
Membuka kunci bootloader
Anda dapat mem-flash sistem kustom hanya jika bootloader mengizinkannya. Namun perlu diperhatikan bahwa bootloader dikunci secara default. Anda dapat membuka kunci bootloader, tetapi hal itu akan menghapus data pengguna karena alasan privasi. Setelah membuka kunci, semua data di perangkat akan dihapus, baik data aplikasi pribadi maupun data bersama yang dapat diakses melalui USB (termasuk foto dan film). Sebelum mencoba membuka kunci bootloader, buat cadangan semua file penting di perangkat.
Anda hanya perlu membuka kunci bootloader sekali, dan Anda dapat menguncinya kembali jika perlu.
Membuka kunci perangkat terbaru
Semua perangkat Nexus dan Pixel yang dirilis sejak tahun 2014 (dimulai dengan Nexus 6 dan Nexus 9) memiliki perlindungan reset pabrik dan memerlukan proses multilangkah untuk membuka kunci bootloader.
- Untuk mengaktifkan pembukaan kunci OEM pada perangkat:
- Di Pengaturan, ketuk Tentang ponsel , lalu ketuk Nomor pembuatan tujuh kali.
- Saat Anda melihat pesan Anda sekarang adalah seorang pengembang! , ketuk tombol kembali .
- Di Pengaturan, ketuk Sistem , lalu ketuk Opsi pengembang dan aktifkan pembukaan kunci OEM dan debugging USB . (Jika pembukaan kunci OEM dinonaktifkan, sambungkan ke internet sehingga perangkat dapat melakukan check-in setidaknya sekali. Jika tetap dinonaktifkan, perangkat Anda mungkin SIM dikunci oleh operator Anda dan bootloader tidak dapat dibuka kuncinya.)
- Reboot ke bootloader dan gunakan
fastboot
untuk membukanya.- Untuk perangkat yang lebih baru (2015 dan lebih tinggi):
fastboot flashing unlock
- Untuk perangkat lama (2014 dan lebih rendah):
fastboot oem unlock
- Untuk perangkat yang lebih baru (2015 dan lebih tinggi):
- Konfirmasikan pembukaan kunci di layar.
Mengunci kembali bootloader
Untuk mengunci kembali bootloader:
- Untuk perangkat yang lebih baru (2015 dan lebih tinggi):
fastboot flashing lock
- Untuk perangkat lama (2014 dan lebih rendah):
fastboot oem lock
Menggunakan status kunci flash
API sistem getFlashLockState()
mentransmisikan status bootloader dan API sistem PersistentDataBlockManager.getFlashLockState()
mengembalikan status kunci bootloader pada perangkat yang sesuai.
Nilai kembalian | Kondisi |
---|---|
FLASH_LOCK_UNKNOWN | Hanya dikembalikan oleh perangkat yang diupgrade ke Android 7.x atau lebih tinggi yang sebelumnya tidak mendukung perubahan bootloader yang diperlukan untuk mendapatkan status kunci flash jika mendukung kemampuan kunci/buka kunci flash.
|
FLASH_LOCK_LOCKED | Dikembalikan oleh perangkat apa pun yang tidak mendukung flashing lock/unlock (yaitu, perangkat selalu terkunci), atau perangkat apa pun yang mendukung flashing lock/unlock dan dalam keadaan terkunci. |
FLASH_LOCK_UNLOCKED | Dikembalikan oleh perangkat apa pun yang mendukung kunci/buka kunci berkedip dan dalam keadaan tidak terkunci. |
Produsen harus menguji nilai yang dikembalikan oleh perangkat dengan bootloader terkunci dan tidak terkunci. Misalnya, Proyek Sumber Terbuka Android (AOSP) berisi implementasi referensi yang mengembalikan nilai berdasarkan properti boot ro.boot.flash.locked
. Kode contoh terletak di direktori berikut:
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
-
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java
Memilih build perangkat
Rakitan perangkat yang direkomendasikan tersedia dari menu lunch
, diakses saat menjalankan perintah lunch
tanpa argumen. Untuk informasi tambahan tentang perintah lunch
, lihat Pilih target . Untuk daftar target pembangunan, lihat Target pembangunan .
Anda dapat mendownload gambar pabrik dan binari untuk perangkat Pixel dan Nexus dari developer.google.com . Lihat Biner perangkat untuk mengunduh. Untuk detail dan sumber daya tambahan, lihat Mendapatkan biner berpemilik .
Perangkat | Nama kode | Bangun konfigurasi |
---|---|---|
Piksel 7 Pro | Cheetah | aosp_cheetah-userdebug |
Piksel 7 | harimau kumbang | aosp_panther-userdebug |
Piksel 6 Pro | gagak | aosp_raven-userdebug |
Piksel 6 | oriole | aosp_oriole-userdebug |
Piksel 5 | sirip merah | aosp_redfin-userdebug |
Piksel 4a 5G | semak duri | aosp_bramble-userdebug |
Piksel 4a | ikan mola-mola | aosp_sunfish-userdebug |
Piksel 4 XL | karang | aosp_coral-userdebug |
Piksel 4 | api | aosp_flame-userdebug |
Piksel 3a XL | bonito | aosp_bonito-userdebug |
Piksel 3a | sargo | aosp_sargo-userdebug |
Piksel 3 XL | garis silang | aosp_crosshatch-userdebug |
Piksel 3 | garis biru | aosp_blueline-userdebug |
Piksel 2 XL | taimen | aosp_taimen-userdebug |
Piksel 2 | walleye | aosp_walleye-userdebug |
Piksel XL | ikan marlin | aosp_marlin-userdebug |
Piksel | ikan layar | aosp_sailfish-userdebug |
HaiKey | pejalan kaki | hikey-userdebug |
Perhubungan 6P | pemancing | aosp_angler-userdebug |
Perhubungan 5X | orang dungu | aosp_bullhead-userdebug |
Perhubungan 6 | shamu | aosp_shamu-userdebug |
Pemain Nexus | fugu | aosp_fugu-userdebug |
Perhubungan 9 | volantis (menggelepar) | aosp_flounder-userdebug |
Perhubungan 5 (GSM/LTE) | kepala martil | aosp_hammerhead-userdebug |
Nexus 7 (Wi-Fi) | pisau cukur (flo) | aosp_flo-userdebug |
Nexus 7 (Seluler) | pisau cukur (deb) | aosp_deb-userdebug |
Perhubungan 10 | mantaray (manta) | full_manta-userdebug |
Nexus 4 | terjadi (mako) | full_mako-userdebug |
Nexus 7 (Wi-Fi) | Nakasi (kerapu) | full_grouper-userdebug |
Nexus 7 (Seluler) | nakasig (nila) | full_tilapia-userdebug |
Galaxy Nexus (GSM/HSPA+) | yakju (maguro) | full_maguro-userdebug |
Galaksi Nexus (Verizon) | mysid (toro) | √aosp_toro-userdebug |
Galaxy Nexus (Eksperimental) | mysidspr (toroplus) | aosp_toroplus-userdebug |
Motorola Xoom (Wi-Fi AS) | sayap sayap | full_wingray-userdebug |
Perhubungan S | soju (crespo) | full_crespo-userdebug |
Perhubungan S 4G | soju (crespo4g) | full_crespo4g-userdebug |
Mem-flash perangkat
Anda dapat mem-flash seluruh sistem Android dalam satu perintah; melakukan hal ini akan memverifikasi bahwa sistem yang sedang di-flash kompatibel dengan bootloader dan radio yang diinstal, menulis boot, pemulihan, dan partisi sistem secara bersamaan, kemudian mem-boot ulang sistem. Flashing juga menghapus semua data pengguna, mirip dengan fastboot oem unlock
.
Untuk mem-flash perangkat:
- Buka zip file gambar ke direktorinya sendiri.
- Setel variabel lingkungan
ANDROID_PRODUCT_OUT
agar mengarah ke direktori yang sama dengan yang digunakan pada langkah 1. - Tempatkan perangkat dalam mode
fastboot
dengan menahan kombinasi tombol yang sesuai saat boot atau menggunakan perintah berikut:adb reboot bootloader
- Setelah perangkat berada dalam mode fastboot, jalankan:
fastboot flashall -w
Opsi-w
menghapus partisi/data
pada perangkat; ini berguna untuk pertama kalinya Anda mem-flash perangkat tertentu tetapi sebaliknya tidak diperlukan.
Konfigurasi berkedip
Instruksi fastboot dijabarkan dalam artefak bernama fastboot-info.txt yang ada di $ANDROID_PRODUCT_OUT/*
Dokumen .txt ini berisi daftar tugas yang harus dijalankan fastboot dan dapat dibuat ulang melalui m fastboot_info
. Logika flashing khusus dapat diperkenalkan dengan memodifikasi file ini
perintah yang didukung:
- flash %s : Flash partisi tertentu. Argumen opsional mencakup
--slot-other, {filename_path}, --apply-vbmeta
- update-super : Memperbarui partisi super
- if-wipe : Jalankan beberapa fungsi lain secara kondisional jika wipe ditentukan
- hapus %s : Hapus partisi tertentu (hanya dapat digunakan bersama) dengan if-wipe -> misalnya.
if-wipe erase cache
Mengembalikan perangkat ke kondisi pabrik
Gambar pabrik untuk perangkat Google tersedia dari Gambar Pabrik untuk Perangkat Nexus dan Pixel . Gambar pabrik untuk Motorola Xoom didistribusikan langsung oleh Motorola.
Mengatasi kesalahan izin ditolak
Secara default di sebagian besar sistem Linux, pengguna yang tidak memiliki hak istimewa tidak dapat mengakses port USB. Jika Anda melihat kesalahan izin ditolak, lihat petunjuk Android Studio untuk Menyiapkan perangkat untuk pengembangan .
Jika ADB sudah berjalan dan tidak dapat terhubung ke perangkat, Anda dapat menghentikan ADB dengan adb kill-server
. Perintah ini menyebabkan ADB memulai ulang dengan konfigurasi baru.