adb的学习笔记

---恢复内容开始---

adb的全称为Android Debug Bridge ,顾名思义用于调试的。

1. adb的环境配置,这是一个命令来着,在window平台或者Linux平台仅仅需要把adb所在的路径配置到环境变量就能方便在在cmd和terminal这样的终端使用了,这个路径一般为/dir/sdk/platform-tools下面

2. adb的使用格式为adb [-d|-e|-s <serialNumber>] <command>, 下面来了解下这些参数

-d : Direct an adb command to the only attached USB device,已经说得很清楚了,这个也是默认参数,所有当我们有多个直接连接到USB的设备是肯定是要报错的“more than one device”

-e : Direct an adb command to the only running emulator instance.也已经说得很清楚了,需要连接模拟设备的时候是需要添加这个选项的

-s : Direct an adb command referred to by its adb-assigned serial number,这个serial number是通过adb devices得到的,你可以看到多个设备,这个命令之后你会看到类似于(100397 device)的东西,100397就是这个serial number了。

3. command

General-command:

devices:列出连接到adb的设备信息,还不确定offline这个状态会不会出现在devices里面,没花时间去测试

help : 这个是好东西,help大家都懂的,adb的使用帮助

version : adb的版本好,我不知道这个有什么用,总之我没怎么使用

General-Debug

logcat [option] [filter-specs]:这个是用得比较多的命令了,option有-b, -c, -d, -, -f, -g, -n, -r, -s, -v,我说下我用得比较多的吧

-c:清除已经存在的全部log信息,在开始使用之前一般都需要这样一个步骤,因为之前的信息一般不是你需要的

-f:把log信息输出到文件

- : 默认选项,输出到stdout,一般是屏幕

这个命令一般会结合同名的shell命令logcat来使用,adb logcat -c先清除log,adb -s xxx shell进入shell模式,logcat监听,当你打开应用的时候就监听这个应用的log

 bugreport: Prints dumpsysdumpstate, and logcat data to the screen, for the purposes of bug reporting.把dumpsys, dumpstate, logcat 输出到屏幕,一般会重定向这个输出adb bugreport > xx.txt,这个是用户日记用于分析用户行为和异常信息很有用。

jdwp:这个命令没用过,jdwp(java debug wire protocol)是dalvik VM的一个线程,可以建立在adb或者tcp基础上,与DDMS或debugger进行通信(来源网络)

Data-command:

install <path-to-apk>:安装软件

pull <remote> <local>: 从手机里拉东西下来 adb -s xxx pull /sdcart/xx(remote)  /tmp(local)

push <local> <remote>: 把东西推送到手机里,在我们写jni代码的时候可以不用每次都重新安装软件,直接把编好的库推送到手机的/data/app-lib/packageName-1(com.xx.xx)目录下就好了,如果手机没有root权限可以稍微折中一下,先push到/sdcard/tmp目录下,再cp到lib目录下,一般是动态库比较多的时候这样做,可以写一个脚本去做push这个动作。

Server-command:

start-server: 开启服务

kill-server:关闭服务

Shell-command:

shell:进入shell模式

shell command:执行shell command后退出shell

shell command有:

am(activity mannager):经常用到的有,打开和关闭应用程序 

开启应用:

am start -S 包名/activity名      包名就是这个应用在手机里面的唯一名字,可以参考AndroidManifest的package=“xxxx”,activity名就是activity对应的Name=“xxx”

adb -s 100397 shell am start -S com.android.calculator2/com.android.calculator2.Calculator      -S的意思强制停止目标app在开启之前

关闭应用

am force-stop 包名

adb -s 100397 shell am force-stop com.android.calculator2

先写那么多吧

 

---恢复内容结束---

adb的学习笔记,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。