zoukankan      html  css  js  c++  java
  • Android 不需要root权限也可卸载系统应用的adb命令

    重要提醒:

    卸载某个系统应用之前,需要先通过 apk提取器 或 ES文件浏览器 工具 将系统应用进行备份,以防止被卸载后,导致手机出现问题,若出现问题,还可以有机会重新安装回来,切记

    一个不需要root权限也可卸载系统应用的adb命令

    方法一(推荐):

    adb shell pm uninstall [-k] [--user USER_ID] 包名
    

    参数说明:

    • k 卸载应用且保留数据与缓存,如果不加 -k 则全部删除。

    • user 指定用户 id,Android 系统支持多个用户,默认用户只有一个,id=0。

    可以用这个命令,user 和 debug 版本都可以用,所有应用都能卸载掉。

    比如这里卸载 360 浏览器:

    adb shell pm uninstall -k --user 0 com.qihoo.browser
    

    看到 Success 字样,代表卸载成功。

    方法二: disable应用(disable应用后,应用并没有被卸载,只是桌面没有图标了;hide 命令可以卸载应用,保留数据,但是运行失败)

    C:Userszz>adb shell pm hide --user 0 com.sec.android.easyMover
    Error: java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_USERS.

    通过命令:adb shell pm disable-user --user 0  包名

    C:Userszz>adb shell pm disable-user --user 0 com.sec.android.easyMover
    Package com.sec.android.easyMover new state: disabled-user

    C:Userszz>adb shell pm enable --user 0 com.sec.android.easyMover
    Package com.sec.android.easyMover new state: enabled

    例如:

    C:Userszz>adb shell pm uninstall  com.redstone.ota.ui  // 无法卸载
    Failure [DELETE_FAILED_INTERNAL_ERROR]
    
    C:Userszz>adb shell pm uninstall --user 0 com.redstone.ota.ui  //添加 --user 参数后,便能卸载成功
    Success

    Q&A

    1. 我想卸载某个应用,但不知道这个应用包名?

       打开应用,执行如下命令(linux系统):

    adb shell dumpsys window | grep mCurrentFocus


    打开应用,执行如下命令(window系统):

    adb shell dumpsys window | findstr mCurrentFocus
    1. 我把一些系统应用卸载了,怎么恢复?

    可以通过恢复出厂设置方式恢复。

  • 相关阅读:
    【PyMuPDF和pdf2image】Python将PDF转成图片PNG和JPG
    How to extract images from PDF in Python? 通过python从pdf文件中提取图片
    linux shell 用sed命令在文本的行尾或行首添加字符
    shell中的if语句
    Linux find 用法示例
    Linux 自动删除N小时或分钟前的文件
    记一次Linux磁盘空间占满无法删除的故障
    Shell字符串拼接(连接、合并)
    shell脚本使用之awk按列求平均值(含最大,最小值)
    LVM实现将2块磁盘总空间“合二为一”并挂载到同一目录
  • 原文地址:https://www.cnblogs.com/onelikeone/p/14611469.html
Copyright © 2011-2022 走看看