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