使用adb导出bugreport adb bugreport保存位置_Android


做为 Android 开发,怎么能不懂点 adb 命令呢?

速看~

adb 重置、断连的状况这里不说了,先来说一些直观的命令吧

1、adb devices

查看当前连接的设备


使用adb导出bugreport adb bugreport保存位置_文件目录_02


如果当前正在连接着设备,那么就可以进行后续的操作了,如果没有,那么插上你的 Android 手机吧!

2、adb install apk路径 安装指定的apk

使用此命令需要电脑上存在一个虚拟器,或者连着一个有开发权限的 Android 设备


使用adb导出bugreport adb bugreport保存位置_文件目录_03


adb install -r apk路径 可以帮你强制安装上 apk 包

这个命令的好处是可以把想要安装的所有应用依次在电脑上下载下来,然后给手机挨个安装。适用于换手机比较频繁的朋友。

3、adb uninstall apk的包名

如果懒得用拖动 apk 卸载,试试这个方式,前提是你必须要知道 apk 的包名

那这个命令其实就比较试用于专业的 Android 开发人员了

这里我先用一个命令找到刚才安装的 应用
如图


使用adb导出bugreport adb bugreport保存位置_文件目录_04


红线部分中的

adb shell dumpsys activity activities |grep pocket

是查询刚才安装的 「pocket」应用的包名

蓝色部分则是查询到的包名

知道包名了,就可以删除了

adb uninstall com.ideashower.readitlater.pro

如图


使用adb导出bugreport adb bugreport保存位置_包名_05


是不是很方便呢?嘿嘿嘿!

4、adb pull 手机文件路径 电脑文件路径

将手机中的文件复制到电脑本地

/sdcard/这个目录是手机的根目录,如果懒的敲命令,可以把需要复制的文件复制到手机根目录,然后通过命令拷贝到电脑

比如

adb pull /sdcard/mymovie.rmvb 电脑文件目录

我一般会先切到想要拷贝到电脑的相应目录,然后直接

adb pull 手机文件路径

回车

就自动开始拷贝了

如图


使用adb导出bugreport adb bugreport保存位置_Android_06


这样就开始拷贝了,

5、adb push 电脑文件目录 手机文件目录

同样,为了好传输,我一般把文件传到手机的根目录

比如

adb push 电脑文件目录 /sdcard/

而且,这个命令很有用哦,当你不想在苹果电脑安装 文件传输软件的时候(我现在用的是锤子的 handshaker)

只要用 adb 就轻松搞定啦。

当然,当你传输到手机的文件目录权限不够的时候,可以使用 chmod 命令来改变手机目录的权限,然后再执行传输命令即可。


使用adb导出bugreport adb bugreport保存位置_使用adb导出bugreport_07


需要注意的是,上面的命令必须要执行完一个之后再执行另外一个,否则就会中断上一个命令的执行

比如我正在拷贝一个大电影到手机,这时候又想从手机拷贝一个文件到电脑,就需要等到电影考完再执行下个操作了。

6、adb shell screencap -p 截图保存的位置

我一般都存在根目录,因为省事

就像这样

adb shell screencap -p /sdcard/cap1.png

如果想传到电脑,还得需要结合上面的 adb pull 命令

那么 连贯的操作是什么呢?(我是直接先切到想要拷贝的环境,再进行的操作)

adb shell screencap -p /sdcard/cap1.pngadb pull /sdcard/cap1.pngopen cap1.png

如果想复制一下回车就能执行,用&&符号链接一下就可以了

adb shell screencap -p /sdcard/cap1.png&&adb pull /sdcard/cap1.png&&open cap1.png

回车即可把图片打开

如图


使用adb导出bugreport adb bugreport保存位置_文件目录_08


7、能截屏,就能怎么着?

哦,答对了,还会录屏,命令相似

adb shell screenrecord /sdcard/record1.mp4

注意:没有 -p 这个指定路径的命令了

这样就录下来了

同样,想搞到电脑上面来,那么连贯的操作就是

adb shell screenrecord  /sdcard/record1.mp4adb pull /sdcard/record1.mp4 open  record1.mp4

连在一起adb shell screenrecord /sdcard/record1.mp4&&adb pull /sdcard/record1.mp4&&open record1.mp4

回车即可

但是如果要这样操作的话,录屏的时间就会很长(默认为180s)

为了演示,需要时间设短一点,比如我们就设成5s,这样就需要这么设置

adb shell screenrecord --time 5 /sdcard/record1.mp4

那么连续命令就变为

adb shell screenrecord --time 5 /sdcard/record1.mp4&&adb pull /sdcard/record1.mp4&&open record1.mp4

如图


使用adb导出bugreport adb bugreport保存位置_adb bugreport保存位置_09


这样就很爽了,有木有

7、adb shell input text 文本内容

将文本内容传送到手机输入框

这种场景熟悉不?

比如想给一个好友发一个很长的东西,那么可以用这个命令

前提工作是先让电脑连接的手机处于输入框状态

但是,有个问题,就是当前命令目前不支持“中文”

不过没关系,现在网上有些路子可以实现传入中文,感兴趣的同学可以试试,我这里就不试了

8、adb logcat

查看手机日志

当然,如果直接使用

adb logcat

他会把手机所以的 logcat 打印出来

基本没法看

所以,我们可以使用

adb logcat -s 标签名称

比如使用

adb logcat -s WifiService

来查看wifi服务日志

如图


使用adb导出bugreport adb bugreport保存位置_adb bugreport保存位置_10


但是,这个你得知道标签的全称,否则查不到对应的日志
比如

adb logcat -s wifi

是不能查看到wifi相关的信息的。


使用adb导出bugreport adb bugreport保存位置_Android_11


但是假如只知道一个单词能查到日志吗?

答案是可以的,用 grep 就可以

adb logcat |grep wifi

结果如下图


使用adb导出bugreport adb bugreport保存位置_文件目录_12


总结一下

这些 adb 命令应该是比较直观的,用完了能够略微提高你工作效率、提升你的"逼格"哈哈,当然如果你使用的是 linux 系统,这些命令就是家常便饭啦~

下篇预告

下篇文章中的 adb 命令就能够拿到一些 Android 应用深入一点的东西了