หน้านี้ให้รายละเอียดสำหรับการรันบิวด์บนอุปกรณ์เฉพาะ รายละเอียดเหล่านี้ช่วยเสริมข้อมูลใน Building Android
สร้าง fastboot และ adb
หากคุณยังไม่มี fastboot
และ adb
คุณสามารถสร้างได้ด้วยระบบบิลด์ปกติ ใช้คำแนะนำใน การสร้าง Android และแทนที่คำสั่ง make
หลักด้วยคำสั่งนี้:
make fastboot adb
ดู Android Debug Bridge (adb) สำหรับรายละเอียดเกี่ยวกับ Android Debug Bridge (adb)
บูตเข้าสู่โหมด fastboot
คุณสามารถแฟลชอุปกรณ์ได้เมื่ออุปกรณ์อยู่ในโหมด fastboot
bootloader หากต้องการเข้าสู่โหมด fastboot
เมื่ออุปกรณ์อยู่ระหว่างการบูตแบบเย็น ให้ใช้คีย์ผสมที่แสดงอยู่ใน ชุดคีย์ Fastboot
คุณยังสามารถใช้คำสั่ง adb reboot bootloader
เพื่อรีบูตโดยตรงใน bootloader ดู คำแนะนำในการกะพริบ สำหรับคำแนะนำทั้งหมด
ปลดล็อคบูตโหลดเดอร์
คุณสามารถแฟลชระบบแบบกำหนดเองได้ก็ต่อเมื่อ bootloader อนุญาตเท่านั้น โปรดทราบว่า bootloader จะถูกล็อคตามค่าเริ่มต้น คุณสามารถปลดล็อค bootloader ได้ แต่การทำเช่นนี้จะเป็นการลบข้อมูลผู้ใช้ด้วยเหตุผลด้านความเป็นส่วนตัว หลังจากการปลดล็อค ข้อมูล ทั้งหมด บนอุปกรณ์จะถูกลบ นั่นคือทั้งข้อมูลแอพส่วนตัวและข้อมูลที่แชร์ซึ่งเข้าถึงได้ผ่าน USB (รวมถึงภาพถ่ายและภาพยนตร์) ก่อนที่จะพยายามปลดล็อค Bootloader ให้สำรองไฟล์สำคัญใดๆ บนอุปกรณ์
คุณต้องปลดล็อค bootloader เพียงครั้งเดียว และคุณสามารถล็อคใหม่ได้หากจำเป็น
ปลดล็อคอุปกรณ์ล่าสุด
อุปกรณ์ Nexus และ Pixel ทั้งหมดที่เปิดตัวตั้งแต่ปี 2014 (เริ่มตั้งแต่ Nexus 6 และ Nexus 9) ได้รับการป้องกันการรีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน และต้องใช้กระบวนการหลายขั้นตอนเพื่อปลดล็อกโปรแกรมโหลดบูต
- หากต้องการเปิดใช้งานการปลดล็อค OEM บนอุปกรณ์:
- ในการตั้งค่า ให้แตะ เกี่ยวกับโทรศัพท์ จากนั้นแตะ หมายเลขบิวด์ เจ็ดครั้ง
- เมื่อคุณเห็นข้อความ คุณเป็นนักพัฒนาแล้ว! ให้แตะปุ่ม ย้อนกลับ
- ในการตั้งค่า ให้แตะ ระบบ จากนั้นแตะ ตัวเลือกนักพัฒนา และเปิดใช้งาน การปลดล็อก OEM และ การแก้ไขจุดบกพร่อง USB (หากปิดใช้ งานการปลดล็อคของ OEM ให้เชื่อมต่ออินเทอร์เน็ตเพื่อให้อุปกรณ์เช็คอินได้อย่างน้อยหนึ่งครั้ง หากยังคงปิดใช้งานอยู่ อุปกรณ์ของคุณอาจถูกล็อค SIM โดยผู้ให้บริการของคุณและไม่สามารถปลดล็อคโปรแกรมโหลดบูตได้)
- รีบูทเข้าสู่ bootloader และใช้
fastboot
เพื่อปลดล็อค- สำหรับอุปกรณ์รุ่นใหม่ (2015 และสูงกว่า):
fastboot flashing unlock
- สำหรับอุปกรณ์รุ่นเก่า (ปี 2014 และต่ำกว่า):
fastboot oem unlock
- สำหรับอุปกรณ์รุ่นใหม่ (2015 และสูงกว่า):
- ยืนยันการปลดล็อคบนหน้าจอ
ล็อค bootloader อีกครั้ง
หากต้องการล็อค bootloader อีกครั้ง:
- สำหรับอุปกรณ์รุ่นใหม่ (2015 และสูงกว่า):
fastboot flashing lock
- สำหรับอุปกรณ์รุ่นเก่า (ปี 2014 และต่ำกว่า):
fastboot oem lock
ใช้สถานะล็อคแฟลช
API ระบบ getFlashLockState()
จะส่งสถานะ bootloader และ API ระบบ PersistentDataBlockManager.getFlashLockState()
จะส่งคืนสถานะการล็อกของ bootloader บนอุปกรณ์ที่รองรับ
ส่งคืนค่า | เงื่อนไข |
---|---|
FLASH_LOCK_UNKNOWN | ส่งคืนโดยอุปกรณ์ที่อัปเกรดเป็น Android 7.x หรือสูงกว่าซึ่งก่อนหน้านี้ไม่รองรับการเปลี่ยนแปลง bootloader ที่จำเป็นในการรับสถานะล็อคแฟลช หากอุปกรณ์เหล่านั้นรองรับความสามารถในการล็อค/ปลดล็อคแบบแฟลช
|
FLASH_LOCK_LOCKED | ส่งกลับโดยอุปกรณ์ใดๆ ที่ไม่รองรับการล็อค/ปลดล็อคแบบกะพริบ (นั่นคือ อุปกรณ์จะถูกล็อคอยู่เสมอ) หรืออุปกรณ์ใดๆ ที่รองรับการล็อค/ปลดล็อคแบบกะพริบและอยู่ในสถานะล็อค |
FLASH_LOCK_UNLOCKED | ส่งคืนโดยอุปกรณ์ใด ๆ ที่รองรับการล็อค/ปลดล็อคแบบกะพริบและอยู่ในสถานะปลดล็อค |
ผู้ผลิตควรทดสอบค่าที่ส่งคืนโดยอุปกรณ์ที่มีการล็อกและปลดล็อกบูตโหลดเดอร์ ตัวอย่างเช่น Android Open Source Project (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 |
พิกเซล 4a 5G | หนาม | aosp_bramble-userdebug |
พิกเซล 4เอ | ปลาซันฟิช | aosp_sunfish-userdebug |
พิกเซล 4 XL | ปะการัง | aosp_coral-userdebug |
พิกเซล 4 | เปลวไฟ | aosp_flame-userdebug |
พิกเซล 3a 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 |
พิกเซล เอ็กซ์แอล | มาร์ลิน | aosp_marlin-userdebug |
พิกเซล | ปลาเซลฟิช | aosp_sailfish-userdebug |
ไฮคีย์ | ธุดงค์ | hikey-userdebug |
เน็กซัส 6พี | คนตกปลา | aosp_angler-userdebug |
เน็กซัส 5X | เอาแต่ใจ | aosp_bullhead-userdebug |
เน็กซัส 6 | ชามู | aosp_shamu-userdebug |
ผู้เล่นเน็กซัส | ฟูกุ | aosp_fugu-userdebug |
เน็กซัส 9 | volantis (ดิ้นรน) | aosp_flounder-userdebug |
เน็กซัส 5 (GSM/LTE) | แฮมเมอร์เฮด | aosp_hammerhead-userdebug |
เน็กซัส 7 (ไวไฟ) | มีดโกน (flo) | aosp_flo-userdebug |
Nexus 7 (มือถือ) | เรเซอร์ก (deb) | aosp_deb-userdebug |
เน็กซัส 10 | มันตะเรย์ (มันตะ) | full_manta-userdebug |
เน็กซัส 4 | occam (มาโกะ) | full_mako-userdebug |
เน็กซัส 7 (ไวไฟ) | นากาซี (ปลาเก๋า) | full_grouper-userdebug |
Nexus 7 (มือถือ) | นาคาซิก (ปลานิล) | full_tilapia-userdebug |
กาแล็กซี่เน็กซัส (GSM/HSPA+) | ยักจู (มากุโระ) | full_maguro-userdebug |
กาแล็กซี่เน็กซัส (Verizon) | มายซิด (โตโร) | √aosp_toro-userdebug |
Galaxy Nexus (ทดลอง) | มายซิดสปร (โทโรพลัส) | aosp_toroplus-userdebug |
Motorola Xoom (Wi-Fi ของสหรัฐอเมริกา) | ปีกเรย์ | full_wingray-userdebug |
เน็กซัส เอส | โซจู (เครสโป) | full_crespo-userdebug |
เน็กซัส เอส 4จี | โซจู (crespo4g) | full_crespo4g-userdebug |
แฟลชอุปกรณ์
คุณสามารถแฟลชระบบ Android ทั้งหมดได้ด้วยคำสั่งเดียว การทำเช่นนี้เป็นการตรวจสอบว่าระบบที่กำลังแฟลชเข้ากันได้กับ bootloader และวิทยุที่ติดตั้ง เขียนการบูต การกู้คืน และพาร์ติชันระบบร่วมกัน จากนั้นรีบูตระบบ การกะพริบยังลบข้อมูลผู้ใช้ทั้งหมด เช่นเดียวกับ fastboot oem unlock
หากต้องการแฟลชอุปกรณ์:
- แตกไฟล์รูปภาพไปยังไดเร็กทอรีของตัวเอง
- ตั้งค่าตัวแปรสภาพแวดล้อม
ANDROID_PRODUCT_OUT
ให้ชี้ไปยังไดเรกทอรีเดียวกันกับที่ใช้ในขั้นตอนที่ 1 - วางอุปกรณ์ในโหมด
fastboot
โดยกดคีย์ผสมที่เหมาะสมค้างไว้ขณะบู๊ตหรือใช้คำสั่งต่อไปนี้:adb reboot bootloader
- หลังจากที่อุปกรณ์อยู่ในโหมด fastboot ให้รัน:
fastboot flashall -w
ตัวเลือก-w
จะล้างพาร์ติชัน/data
บนอุปกรณ์ สิ่งนี้มีประโยชน์สำหรับการแฟลชอุปกรณ์ใดอุปกรณ์หนึ่งเป็นครั้งแรก แต่ก็ไม่จำเป็น
การกำหนดค่าแฟลช
คำแนะนำ Fastboot ถูกสะกดไว้ในอาร์ติแฟกต์ที่เรียกว่า fastboot-info.txt ซึ่งอยู่ใน $ANDROID_PRODUCT_OUT/*
เอกสาร .txt นี้รายการงานสำหรับ fastboot ที่จะดำเนินการและสามารถสร้างใหม่ได้ผ่าน 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 รีสตาร์ทด้วยการกำหนดค่าใหม่