此頁面提供了在特定設備上運行建置的詳細資訊。這些詳細資訊補充了建立 Android中的資訊。
建構 fastboot 和 adb
如果您還沒有fastboot
和adb
,您可以使用常規建置系統來建置它們。使用建立 Android中的說明並將主make
命令替換為以下命令:
make fastboot adb
有關Android 調試橋 (ADB) 的詳細信息,請參閱 Android 調試橋 (ADB)。
啟動進入快速啟動模式
當裝置處於fastboot
引導程式模式時,您可以對其進行刷新。若要在裝置冷啟動時進入fastboot
模式,請使用快速啟動組合鍵中所列的組合鍵。
您也可以使用指令adb reboot bootloader
直接重新啟動到引導程式。有關完整說明,請參閱閃爍說明。
解鎖引導程式
只有當引導程式允許時,您才可以刷新自訂系統。但請注意,引導程式預設是鎖定的。您可以解鎖引導程序,但出於隱私原因這樣做會刪除用戶資料。解鎖後,裝置上的所有資料都將被刪除,即私人應用程式資料和透過 USB 存取的共享資料(包括照片和影片)。在嘗試解鎖引導程式之前,請備份裝置上的所有重要檔案。
您只需解鎖引導程式一次,必要時可以重新鎖定。
解鎖最近使用的設備
自 2014 年以來發布的所有 Nexus 和 Pixel 設備(從 Nexus 6 和 Nexus 9 開始)均具有出廠重置保護,並且需要多步驟程序來解鎖引導程式。
- 若要在裝置上啟用 OEM 解鎖:
- 在「設定」中,點擊「關於手機」 ,然後點擊「版本號」七次。
- 當您看到訊息時,您現在是開發人員了! ,點擊後退按鈕。
- 在「設定」中,點選「系統」 ,然後點選「開發者選項」並啟用「OEM 解鎖」和「USB 偵錯」 。 (如果OEM 解鎖已停用,請連接到互聯網,以便裝置至少簽入一次。如果仍處於停用狀態,則您的裝置可能被電信業者鎖定了 SIM 卡,並且無法解鎖引導程式。)
- 重新啟動到引導程式並使用
fastboot
解鎖它。- 對於較新的設備(2015 及更高版本):
fastboot flashing unlock
- 對於較舊的設備(2014 年及更低版本):
fastboot oem unlock
- 對於較新的設備(2015 及更高版本):
- 在螢幕上確認解鎖。
重新鎖定引導程式
若要重新鎖定引導程式:
- 對於較新的設備(2015 及更高版本):
fastboot flashing lock
- 對於較舊的設備(2014 年及更低版本):
fastboot oem lock
使用快閃記憶體鎖定狀態
getFlashLockState()
系統 API 傳輸引導程式狀態, PersistentDataBlockManager.getFlashLockState()
系統 API 傳回相容裝置上引導程式的鎖定狀態。
傳回值 | 狀況 |
---|---|
FLASH_LOCK_UNKNOWN | 僅由升級至 Android 7.x 或更高版本且先前不支援取得快閃記憶體鎖定狀態所需的引導程式變更(如果它們支援快閃記憶體鎖定/解鎖功能)的裝置傳回。
|
FLASH_LOCK_LOCKED | 由任何不支援閃爍鎖定/解鎖(即設備始終處於鎖定狀態)的設備,或任何支援閃爍鎖定/解鎖且處於鎖定狀態的設備返回。 |
FLASH_LOCK_UNLOCKED | 由任何支援閃爍鎖定/解鎖且處於解鎖狀態的裝置返回。 |
製造商應測試具有鎖定和解鎖引導程式的裝置傳回的值。例如,Android 開源專案 (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
命令的更多信息,請參閱選擇目標。有關建置目標的列表,請參閱建置目標。
您可以從Developers.google.com下載 Pixel 和 Nexus 裝置的出廠映像和二進位。請參閱設備二進位進行下載。有關詳細資訊和其他資源,請參閱取得專有二進位檔案。
裝置 | 代碼名稱 | 建置配置 |
---|---|---|
像素 7 Pro | 獵豹 | aosp_cheetah-userdebug |
像素7 | 豹 | aosp_panther-userdebug |
像素 6 Pro | 掠奪 | aosp_raven-userdebug |
像素6 | 黃鶯 | aosp_oriole-userdebug |
像素5 | 紅鰭鮪魚 | aosp_redfin-userdebug |
像素 4a 5G | 荊棘 | aosp_bramble-userdebug |
像素4a | 翻車魚 | aosp_sunfish-userdebug |
像素 4XL | 珊瑚 | aosp_coral-userdebug |
像素4 | 火焰 | aosp_flame-userdebug |
像素 3a XL | 鰹 | aosp_bonito-userdebug |
像素3a | 薩爾戈 | aosp_sargo-userdebug |
像素 3XL | 交叉影線 | aosp_crosshatch-userdebug |
像素3 | 藍線 | aosp_blueline-userdebug |
像素 2XL | 台門 | aosp_taimen-userdebug |
像素2 | 斑眼魚 | aosp_walleye-userdebug |
像素XL | 馬林魚 | aosp_marlin-userdebug |
像素 | 旗魚 | aosp_sailfish-userdebug |
海基 | 遠足 | hikey-userdebug |
Nexus 6P | 釣魚者 | aosp_angler-userdebug |
Nexus 5X | 牛頭 | aosp_bullhead-userdebug |
Nexus 6 | 沙木 | aosp_shamu-userdebug |
Nexus 播放器 | 河豚 | aosp_fugu-userdebug |
Nexus 9 | 比目魚(比目魚) | aosp_flounder-userdebug |
Nexus 5(GSM/LTE) | 鎚頭鯊 | aosp_hammerhead-userdebug |
Nexus 7(無線網路) | 刮鬍刀(弗洛) | aosp_flo-userdebug |
Nexus 7(移動) | 拉佐格 (deb) | aosp_deb-userdebug |
Nexus 10 | 曼塔雷(蝠鱝) | full_manta-userdebug |
Nexus 4 | 奧卡姆 (mako) | full_mako-userdebug |
Nexus 7(無線網路) | 納卡西(石斑魚) | full_grouper-userdebug |
Nexus 7(移動) | 納卡西格(羅非魚) | full_tilapia-userdebug |
Galaxy Nexus (GSM/HSPA+) | 藥酒(鮪魚) | full_maguro-userdebug |
Galaxy Nexus(威瑞森) | 米西德(托羅) | √aosp_toro-userdebug |
Galaxy Nexus(實驗性) | mysidspr (toroplus) | aosp_toroplus-userdebug |
摩托羅拉 Xoom(美國 Wi-Fi) | 翼鰩 | full_wingray-userdebug |
Nexus S | 燒酒(克雷斯波) | full_crespo-userdebug |
Nexus S 4G | 燒酒 (crespo4g) | full_crespo4g-userdebug |
閃爍設備
您可以透過單一命令刷新整個 Android 系統;這樣做可以驗證正在刷新的系統是否與安裝的引導程式和無線電相容,將引導、復原和系統分割區寫入在一起,然後重新啟動系統。刷新也會擦除所有用戶數據,類似於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 kill-server
停止 ADB。此命令會導致 ADB 使用新配置重新啟動。