Android persistent APP调试

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权限):

  1. 查找应用安装路径

    bash 复制代码
    adb shell pm path com.yourapk.packagename

    通常路径在/system/app//system/priv-app/目录下。

  2. 进入目录并删除旧APK

    bash 复制代码
    adb shell
    cd /your/apk/fact-path  # 根据实际路径调整
    rm your.apk #也可能为base.apk
    exit
  3. 推送新APK并设置权限

    bash 复制代码
    adb push /your/new-build/apk /your/apk/fact-path
    adb shell chmod 644 /your/apk/fact-path/your.apk  #实际这步并不需要
  4. 重启设备

    复制代码
    adb reboot

替代方案:

  • 修改AndroidManifest.xml,移除android:persistent="true"属性后再安装

  • 对于开发调试,可以修改系统源码绕过校验,但这需要重新编译系统

注意事项:

  • 操作前确保设备已root且/system分区可写

  • 建议备份原APK

  • 如果删除缓存目录/data/system/package_cache/可能也有帮助

相关推荐
AFinalStone3 小时前
Android 7系统网络(四)Native层(下)—netd Controller详解
android·网络
爱笑鱼3 小时前
Handler(一):post 之后,Runnable 到底在哪个线程执行?
android
木木子224 小时前
[特殊字符] 音乐播放器——状态驱动的多媒体控制
android·开发语言·华为·php·harmonyos
雨白4 小时前
C 语言基础:结构体、联合体与枚举
android
阿巴斯甜6 小时前
Android 代码混淆
android
apihz8 小时前
台风实时与历史详情查询免费 API 接口完整教程
android·开发语言·tcp/ip·dubbo·台风·天气预报
浪客川8 小时前
AOSP源码隐藏状态栏
android·aosp
没有了遇见9 小时前
AI Agent 是什么?—— 一文理解 LLM、Memory、Skills、Tools、MCP、Workflow,Context
android·前端·程序员
知行合一。。。9 小时前
LangChain--07--智能体、Agent的基本用法
android·数据库·langchain
御坂嘀喵9 小时前
Speed Tools:一套低侵入的 Android 插件化 + 动态换肤 + 字体切换框架
android·gitee