1.Android P 無法直接 adb remount 原因
Android P之後的版本,google 棄用了 avb 2.0,默認打開了 security boot。DM-Verity 啓動策略有一些改變:由原先的 vboot 1.0模式變成使用了avb2.0模式。這就導致了在 userdebug模式下,disable verity無法被disable。如果需要disable DM-verity,必須要先使設備處於unlocked狀態下。
2.什麼是DM-verity
dm-verity 基於kernel 的 Device mapper 框架,Device mapper 是 Linux 2.6 內核中提供的一種從邏輯設備到物理設備的映射框架機制,在該機制下,用戶可以很方便的根據自己的需要制定實現存儲資源的管理策略。更加深入的內容,請自行百度。不再贅述。
3.Android P 如何獲取 adb root 權限
google 官網根據 使用的kernel版本不同,介紹了一下兩種方法:
3.1 Android P + kernel-4.4 or kernel-3.18
//download preloader with verified boot disabled which location is the same as scatter file //preloader__SBOOT_DIS.bin
adb root
adb disable-verity
adb reboot
adb root
adb remount
3.2 Android P + kernel-4.9 or after
//download preloader with verified boot disabled which location is the same as scatter file. //preloader__SBOOT_DIS.bin
boot to Home Screen
go to setting -> system -> Developer options -> OEM unlocking
adb reboot bootloader
fastboot flashing unlock
press volume up key
fastboot reboot
adb root
adb disable-verity
adb reboot
adb root
adb remount
4.Amlogic Android P獲取 adb root方式如下:
根據Amlogic 905x2 開發過程中遇到的問題,整理出來,有效的獲取adb root權限的方法如下:
4.1 連接 usb 線在 otg口之後,通過如下命令可以獲取unlock device
adb reboot fastboot
fastboot devices
fastboot flashing unlock_critical
fastboot flashing unlock
fastboot reboot
4.2 在unlock device 之後,如下命令可以 disable dm-verity
adb root
adb disable-verity
adb reboot
4.3 disable dm-verity 之後,通過如下命令可以獲取到adb root 權限
adb root
adb remount