Android-adb命令随记

来自三线的随记

Android Debug Bridge - Adb相关常用命令

文中提到的命令,如果是shell开头的,可以替换为在cmd模式下的命令

(cmd开头的同理可以进入adb shell后省略adb )

shell > pm list packages <-f>

等同于

cmd > adb pm list packages <-f>


通过网络连接adb client

cmd > adb connect <host address>

列出所有已安装应用

shell > pm list packages <-f>

安装应用

cmd > adb install ***.apk

寻找package下可用的activity (有效果,不一定能过滤出全部activity)

shell >  dumpsys package <package-name> | grep activity -i

启动activity

shell > am start -n <package/launch> <activity>

终止应用

cmd > adb shell am force-stop <包名>

adb获取手机某个apk的版本号、详细应用信息命令

cmd > adb shell dumpsys package ****

停用 或 解冻停用

对于没有root权限的手机,一些原厂自带的应用最好采用这个方法

以免卸载某些原厂应用以后手机某些功能不正常还不能直接恢复

停用(冻结) 后的应用仍然可以手机找到,应用状态为"已停用",可以直接在手机上启用

cmd >adb shell pm disable-user ******
cmd >adb shell pm enable ******
# example:

HWEBG:/ $ pm list packages | grep -i huawei | grep brow
package:com.huawei.browser
HWEBG:/ $ pm disable-user com.huawei.browser
Package com.huawei.browser new state: disabled-user
HWEBG:/ $ pm list packages | grep -i huawei | grep baidu -i
package:com.baidu.input_huawei
HWEBG:/ $ pm disable-user com.baidu.input_huawei
Package com.baidu.input_huawei new state: disabled-user
HWEBG:/ $

隐藏应用 或 解除隐藏应用

cmd >adb shell pm hide ******
cmd >adb shell pm unhide ******

无root卸载系统App

cmd > adb shell pm uninstall -k --user 0 ******
命令参数: -k	卸载应用且保留数据与缓存(如果不加-k则全部删除)

dumpsys

检测Android的Activity任务栈

利用这个命令,可以先把不想要的预装app启动一下,让app运行然后立刻执行命令

在命令结果最前面通常有说明app的具体package名称,然后卸载 / 冻结

cmd > adb shell dumpsys activity activities   
cmd > adb shell dumpsys activity

应用信息查询

cmd > adb shell dumpsys package