在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/mediatek/proprietary/packages/apps/Launcher3;adb root;adb remount;adb push out/target/product/project/system/system_ext/priv-app/MtkLauncher3QuickStep/MtkLauncher3QuickStep.apk /system/system_ext/priv-app/MtkLauncher3QuickStep/;adb reboot;
8、验证单个模块调试是否成功。
1.打开开发者模式,开启OEM unlocking,
2.adb reboot bootloader
fastboot flashing unlock
fastboot getvar unlocked
fastboot reboot
3.User_debug模式:adb root;adb disable-verity;adb remount;adb reboot;
4.adb root;adb remount;adb push

在Android系统开发的UserDebug模式下,由于avb 2.0的启用,通常无法直接替换系统模块。解决方法包括:开启OEM解锁,通过fastboot解锁设备,使用adb命令禁用verity、重新挂载并重启设备,然后编译并推送单个模块,最后验证调试效果。
1550

被折叠的 条评论
为什么被折叠?



