adb命令(补充中。。。)
查看 adb 版本
adb version
以 root 权限运行 adb
adb root
查找设备、为命令指定目标设备:
adb devices 查找设备
-d 指定当前唯一通过 USB 连接的 Android 设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s <serialNumber> 指定相应 serialNumber 号的设备/模拟器为命令目标
启动 adb server 命令:
adb start-server
停止 adb server 命令:
adb kill-server
adb 安装apk命令参数
adb install
-t 允许测试包 AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用
-l 锁定该应用程序 将应用安装到保护目录 /mnt/asec
-s 把应用程序安装到sd卡上 sdcard
-g 为应用程序授予所有运行时的权限
-r 替换已存在的应用程序,也就是说强制安装
-d 允许进行将见状,也就是安装的比手机上带的版本低 允许降级覆盖安装
卸载应用命令:
adb uninstall [-k] <packagename>
<packagename> 表示应用的包名,-k 参数可选,表示卸载应用但保留数据和缓存目录。
查看应用列表:
adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
无 所有应用
-f 显示应用关联的 apk 文件
-d 只显示 disabled 的应用
-e 只显示 enabled 的应用
-s 只显示系统应用
-3 只显示第三方应用
-i 显示应用的 installer
-u 包含已卸载应用
<FILTER> 包名包含 <FILTER> 字符串
清除应用数据与缓存:
adb shell pm clear <packagename>
查看前台 Activity:
adb shell dumpsys activity activities | grep mFocusedActivity
发送广播:
adb shell am broadcast [options] <INTENT>
可以向所有组件广播,也可以只向指定组件广播。
例如,向所有组件广播 BOOT_COMPLETED:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
又例如,只向 org.mazhuang.boottimemeasure/.BootCompletedReceiver 广播 BOOT_COMPLETED:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n org.mazhuang.boottimemeasure/.BootCompletedReceiver
(以上广播均可使用 adb 触发)
文件管理
复制设备里的文件到电脑:
adb pull <设备里的文件路径> [电脑上的目录]
其中 电脑上的目录 参数可以省略,默认复制到当前目录:
adb pull /sdcard/sr.mp4 ~/tmp/
复制电脑里的文件到设备
adb push <电脑上的文件路径> <设备里的目录>
adb push ~/sr.mp4 /sdcard/
*小技巧:*设备上的文件路径普通权限可能无法直接写入,如果你的设备已经 root 过,可以先 adb push /path/on/pc /sdcard/filename,然后 adb shell 和 su 在 adb shell 里获取 root 权限后,cp /sdcard/filename /path/on/device。
抓取http或者https请求:
先获取应用的进程号PID:
adb shell "ps|包名" 如:adb shell "ps|grep com.dangdang.buy2"
抓取pid对应的socket请求,https需要加过滤
adb shell logcat |grep 4763 | grep https > d:\test\tv.txt (过滤https直接把日志写入到指定的文档中)
更多adb信息查看博客:https://blog.youkuaiyun.com/zhonglunshun/article/details/78362439