persistent应用一般为系统应用,user版本下无法通过adb更新(除非系统内部做了定制)
user_debug版本可以通过以下方法进行调试
前置条件
解锁设备:
前置条件:开发者选项打开OEM开关, 再使用以下命令解锁
:: 获取解锁获取root,remount挂载:
:: 1.adb reboot bootloader
:: 2.然后fastboot flashing unlock 接着按音量音量加减键,(或者按音量-键)
:: 3.然后fastboot getvar unlocked 等待结果一般会出现yes 之后重启(fastboot reboot),
:: 4.然后adb root, adb disable-verity, 然后重启 adb remount就可以挂载了
通过ADB更新apk
解决方案(需要root权限):
-
查找应用安装路径
bashadb shell pm path com.yourapk.packagename通常路径在
/system/app/或/system/priv-app/目录下。 -
进入目录并删除旧APK
bashadb shell cd /your/apk/fact-path # 根据实际路径调整 rm your.apk #也可能为base.apk exit -
推送新APK并设置权限
bashadb push /your/new-build/apk /your/apk/fact-path adb shell chmod 644 /your/apk/fact-path/your.apk #实际这步并不需要 -
重启设备
adb reboot
替代方案:
-
修改AndroidManifest.xml,移除
android:persistent="true"属性后再安装 -
对于开发调试,可以修改系统源码绕过校验,但这需要重新编译系统
注意事项:
-
操作前确保设备已root且/system分区可写
-
建议备份原APK
-
如果删除缓存目录
/data/system/package_cache/可能也有帮助