2019-01-22 Android开发中常用的adb命令

相关基础知识点

1、adb服务使用的端口号:5037

PC 端的手机助手,如 360 手机助手、豌豆荚、应用宝等,可能会与 Android SDK 下的 adb 程序产生冲突,5037 端口被占用,导致使用 adb 命令时无法连接到设备。

通用命令

adb version 显示adb的版本号
adb start-server 开启adb服务
adb kill-server 终止adb服务
adb devices , 获取设备列表及设备状态
adb get-state , 获取设备的状态(设备的状态有 3 钟,device 设备正常连接, offline连接出现异常,设备无响应 , unknown没有连接设备)
adb shell ,进入目标设备的Linux Shell环境, 在该环境中可以执行一些Linux命令.如在Linux Shell环境中执行ps可以查看android设备中运行的所有进程.在Linux Shell环境中执行exit可以退出Linux Shell环境

实用命令

1、adb bugreport, 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误

输出比较多,建议重定向到一个文件中
adb bugreport > d:\bugreport.log

2、adb install , 将指定的app安装到唯一连接到adb的设备上,后边跟的参数为安装包的文件名,覆盖安装是使用 -r 选项,保留原有应用程序的所有数据

在cmd里进入apk所在目录后
adb install -r XXX.apk

3、adb uninstall -k , 卸载应用,-k , 但是保留配置文件和缓存

后面跟的参数是应用的包名,请区别于 apk 文件名(文件名没用的)

4、adb pull [] , 将目标设备中的文件或目录拷贝到本机中

例如复制 init 文件到 D 盘:adb pull init d:\
如果需要重命名为 rename.txt:adb pull init d:\rename.txt
注意权限,复制系统权限的目录下的文件,需要 root

5、adb push , 将本机的文件或目录拷贝到目标设备的文件系统中

例如推送 D 盘下的testrabbit.txt 至 /mnt:adb push d:\testrabbit.txt /mnt/
有时会提示 failed to copy 'testrabbit.txt' to '/mnt//testrabbit.txt': Read-only file system
则在shell命令行中输入:adb root
切换到root用户
然后执行如下命令:(注意 /表示的是根目录,因此这个不仅仅是对sdcard,其他文件也可以读写。rw表示 读写权限,mount重挂载文件系统)

6、adb root , adb remount,可以直接已这两个命令获取 root 权限,并挂载系统文件系统为可读写状态

7、adb shell dumpsys activity 列出目标设备上的activity栈(back stack)和任务(task)的信息, 还有其他组件的一些信息和一些关于进程的信息

8、 adb shell dumpsys packages列出一些系统信息和所有应用的信息。这个命令的输出很庞大,在三星nexus上的输出有12000多行。这些信息都非常详细,包括Features,Activity Resolver Table等。

9、adb shell pm list permissions,列出目标平台上的所有权限

10、adb shell pm list packages,列出目标设备上安装的所有app的包名

11、adb shell pm list features,列出目标设备上的所有feature

常用情况举例

1 使用adb命令启动一个Activity
adb shell am start -n {包(package)名}/{包名}.{活动(activity)名称}
2 保存日志到本机
adb shell logcat > d:\log.txt

logcat -v time > /mnt/sda/sda1/log.txt

3 screencap,截图
adb shell screencap -p /sdcard/screen.png
4 wm,获取分辨率
adb shell wm size
参考网站:
https://www.cnblogs.com/testrabbit/p/6011329.html
https://www.cnblogs.com/kinglearnjava/p/4883274.html
https://www.cnblogs.com/bravesnail/articles/5850335.html

你可能感兴趣的:(2019-01-22 Android开发中常用的adb命令)