หน้านี้อธิบายงานหลายอย่างที่คุณอาจต้องทำหากตั้งค่าบิลด์สำหรับอุปกรณ์ของคุณเอง
สร้างการกำหนดค่าแฟลชที่กำหนดเอง
คำแนะนำ Fastboot กำหนดไว้ในอาร์ติแฟกต์ที่ชื่อ fastboot-info.txt หาก
คุณสร้างเป้าหมายหลายรายการ คุณจะมีไฟล์ fastboot-info.txt หลายไฟล์ใน
$OUT_DIR และ $ANDROID_PRODUCT_OUT จะชี้ไปยังเป้าหมายล่าสุดที่คุณสร้าง หน้านี้แสดงรายการงานที่ Fastboot จะดำเนินการและสามารถสร้างใหม่ได้โดยใช้ m fastboot_info คุณสามารถใช้ตรรกะการแฟลชที่กำหนดเองได้โดยแก้ไขไฟล์ fastboot-info.txt
ไฟล์ fastboot-info.txt รองรับคำสั่งต่อไปนี้
flash %s: แฟลชพาร์ติชันที่ระบุ อาร์กิวเมนต์ที่ไม่บังคับ ได้แก่--slot-other,filename_path, and--apply-vbmeta`update-super: อัปเดตพาร์ติชัน Superif-wipe: เรียกใช้คอมโพเนนต์อื่นๆ แบบมีเงื่อนไขหากมีการระบุการล้างข้อมูลerase %s: ล้างพาร์ติชันที่ระบุ (ใช้ได้เฉพาะกับif-wipe-> เช่นif-wipe erase cache)
กำหนดสถานะการล็อกการแฟลช
หากคุณกำลังสร้าง Flashboot Daemon (flashbootd) ที่กำหนดเองสำหรับอุปกรณ์ คุณต้องสามารถรับสถานะ Bootloader และการล็อก Bootloader ได้
getFlashLockState() @SystemApi จะส่งสถานะ Bootloader
และ PersistentDataBlockManager.getFlashLockState() System
API จะแสดงผลสถานะการล็อกของ Bootloader ในอุปกรณ์ที่สอดคล้อง
| แสดงผลค่า | เงื่อนไข |
|---|---|
FLASH_LOCK_UNKNOWN |
แสดงผลโดยอุปกรณ์ที่อัปเกรดเป็น Android 7.x ขึ้นไปเท่านั้น ซึ่งก่อนหน้านี้ไม่รองรับการเปลี่ยนแปลง Bootloader ที่จำเป็นในการรับสถานะการล็อกการแฟลช หากอุปกรณ์รองรับความสามารถในการล็อก/ปลดล็อกการแฟลช
|
FLASH_LOCK_LOCKED |
แสดงผลโดยอุปกรณ์ที่ไม่รองรับการล็อก/ปลดล็อกการแฟลช (เช่น อุปกรณ์ล็อกอยู่เสมอ) หรืออุปกรณ์ที่รองรับการล็อก/ปลดล็อกการแฟลชและอยู่ในสถานะล็อก |
FLASH_LOCK_UNLOCKED |
แสดงผลโดยอุปกรณ์ที่รองรับการล็อก/ปลดล็อกการแฟลชและอยู่ในสถานะปลดล็อก |
ผู้ผลิตควรทดสอบค่าที่แสดงผลโดยอุปกรณ์ที่มี Bootloader ที่ล็อกและปลดล็อก เช่น AOSP มีการใช้งานอ้างอิงที่แสดงผลค่าตามพร็อพเพอร์ตี้ Boot ro.boot.flash.locked โค้ดตัวอย่างอยู่ในไดเรกทอรีต่อไปนี้
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.javaframeworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java