在Android系统开发的时候,往往都是UserDebug模式,正常情况下是无法remount后直接push单个模块替换系统已有模块的。
原因是android P版本后google启用avb(Android Verified Boot)2.0,verified boot and DM-verity默认启用策略发生了变化。
解决办法:
1、进入设置,打开开发者模式,在开发这模式中打开OEM unlocking:
2、连接ADB,打开cmd,输入adb reboot bootloader
3、当手机画面中出现fastboot mode, 在cmd中输入fastboot flashing unlock
4、可以通过cmd中输入fastboot getvar unlocked查看解锁状态,确保解锁成功。
5、手机中会出现好几串文字的画面,按音量下键,切换到下一个选项界面,在cmd中输入fastboot reboot
6、手机重启后cmd中执行:adb root;adb disable-verity;adb remount;adb reboot;
7、编译单个模块后,推送模块:
./mk mmm vendor/medi