生活有度,人生添寿。 —— 书摘
一、概述
事情是发生在今年的3月份,记得当时正在使用一款产品需要绑定序列号,序列号是25位(数字+大写字母混搭),每次输完数字然后输入字母都是小写字母然后转换成大写字母,输完整个序列号花费了1分多钟,那个心情啊。。。碎了一地。。。 要是有什么简单快捷的输入方式多好啊?早知道 adb input
也不用每次都纠结了。
是不是每次安装新apk
包都通过手机助、QQ【我的Android手机】安装;是不是还在为手机不能【截屏】而下载截屏软件;是不是每次获取电脑上的文件或者获取手机上的文件而捣鼓半天,如果网络不好花费的时间精力就会更多。。。这些烦恼曾经深深折磨着我 。。。早一点知道 adb
的这些操作,让你摆脱烦恼。
记得初学的那会根本就没有重视adb
的使用,今天让我们来重拾adb
那些你应该知道的操作。
adb常用操作
adb配置
配置adb
的环境变量,请参考如何配置android的adb环境变量
adb操作
先来看看目录,讲到了哪些操作:
- 查看设备
- 查看版本
- 安装卸载apk
- 接收电脑文件上传文件到电脑
- adb shell
- 同步更新
- 显示帮助信息
- 重新挂载
- 启动停止重启消亡
- 查看bug报告
- 查看Log
- 包管理
- 清除应用数据与缓存
- 启动应用
- 强制停止应用
- 重启
- 获取序列号
- 获取 MAC 地址
- 查看设备型号
- 查看 Android 系统版本
- 查看屏幕分辨率
- 查看屏幕密度
- 查看permissions
完成了adb
环境变量的配置,连上数据线就可以输入adb
命令了,如果你使用了无线连接,那么就不需要数据线了。
查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示:
查看版本
adb version
安装、卸载apk
1、安装
如果在我电脑D
盘下面有个a.apk
文件,我只需要一行命令就安装到手机上:
adb install d:/a.apk
如果你已经安装了这个程序,可以通过以下命令覆盖安装:
adb install -r d:/a.apk
当然你可以安装指定位置,如我这里安装到sdcard
:
adb install -s d:/a.apk
保留数据和缓存文件,重新安装 apk
adb install -r a.apk
d:/a.apk
表示你 .apk 的存储位置。
2、卸载
adb uninstall com.xxx.xx.apk
com.xxx.xx.apk
表示你项目的包名。
-k 参数,为卸载软件但是保留配置和缓存文件.
adb uninstall -k com.github.ws.apk
接收电脑文件、上传文件到电脑
1、接收电脑文件
adb push d:/a.txt /sdcard/
把电脑 D 盘下的 a.txt 文件推送到手机 sdcard 目录下。这里以 sdcard 目录为例,你可以随便替换成你存放的目录,后文就不再累诉。
2、上传文件
上传位于/sdcard/目录下的 a.txt 文件到电脑的 D 盘根目录下:
adb pull /sdcard/a.txt d:/
d:/ 代表文件的存放目录,你可以随意替换成你的存放目录。你也可以省略:
如果文件存放在 C:\Users\boby
目录下。
adb shell
通过adb shell
可以操作你项目的数据库。需要root
权限
1、操作数据库
adb shell
cd data
cd data
cd xx //你项目的包名
cd databases
sqlite3 xxx //你数据库名
2、使用adb
进行屏幕录像
adb shell screenrecord /sdcard/a.mp4
通过ctrl+c
停止录制,你可以在 sdcard 目录下查看。妈妈再也不担心我到处找录制视频的软件了。
3、截屏
adb shell /system/bin/screencap -p /sdcard/a.png
同样在 sdcard 目录下查看。
4、输入文本
选中你要输入文本的输入框,输入下面的指令:
adb shell
input text abc123
5、退出adb shell
exit
同步更新
adb sync /data/
如果不指定目录,将同时更新 /data 和 /system/
显示帮助信息
adb help
重新挂载
adb remount
重新挂载系统 ,分区,用于读写
启动,停止,重启,消亡
启动
adb start-server
停止
adb stop-server
重启
adb restart-server
消亡
adb kill-server
查看bug报告
adb bugreport
这个打印出来一大推,看得头晕。
查看Log
adb logcat
包管理
列出手机装的所有 app 的包名:
adb shell pm list packages
列出系统应用的所有包名:
adb shell pm list packages -s
列出除了系统应用的第三方应用包名:
adb shell pm list packages -3
清除应用数据与缓存
adb shell pm clear com.github.mvp
com.github.mvp
应用包名
启动应用
通过 adb 来启动应用
adb shell am start -n com.github.mvp/.MainActivity
强制停止应用
有些时候应用卡死了,需要强制停止,则执行以下命令:
adb shell am force-stop com.github.mvp
重启
设备重启,不要轻易尝试哈,刚刚手贱,尼玛手机重新启动了
adb reboot
获取序列号
adb get-serialno
获取 MAC 地址
获取设备的mac
地址,记得刚开始不会命令行,找个mac
找了半天,真尴尬
adb shell cat /sys/class/net/wlan0/address
7c:7d:**:**:**:**
查看设备型号
adb shell getprop ro.product.model
HUAWEI RIO-AL00
查看 Android 系统版本
adb shell getprop ro.build.version.release
5.1
查看屏幕分辨率
adb shell wm size
Physical size: 1080x1920
查看屏幕密度
adb shell wm density
Physical density: 480
查看permissions
adb shell pm list permissions
查看系统的危险权限dangerous permissions
adb shell pm list permissions -d -g
开启GPU过渡绘制调试
开启:
adb shell setprop debug.hwui.overdraw show
关闭:
adb shell setprop debug.hwui.overdraw false
以上列举adb
操作是在开发当中经常会使用到的,为了节省你的开发时间,提高效率请快快应用到你的项目当中。在此收集本文没有提到的且非常实用的adb
操作。