引言
从民生银行离职了有一段时间了,一直在适应新的工作欢迎,现在在做盒子开发了,从手机端直接蹦到了盒子端还真是有点不适应嘞,不过现在感觉好多了,先分享一波自己最近常用的 adb 命令吧,这个东西怎么说呢,说有用就有用,说没用还真没啥用对于做手机端开发的,毕竟做手机端开发只需要连根线,直接一跑软件就完事了,但是对于盒子端,电视端,还是必须要掌握的。
内容
1、as 连接到指定设备
adb connect ip地址 例如 adb connect 10.1.69.236
需要保证 as 与设备在同一网络环境下,这样就可以连接上设备并且可以查看相关运行日志
2、查看是否有设备连接到as
adb devices
该命令可以查看有哪些设备连接到了 as 上
3、将 apk 安装设备
adb install -r apk本地地址
该命令可以正常执行的前提是,需要设备已经与as连接
4、断开某个设备与as连接
adb disconnect ip地址 例如:adb disconnect 10.1.69.236
通过这个命令可以断开指定设备与as的连接
5、断开所有设备连接
adb disconnect
6、卸载某个 apk
adb uninstall apk包名 例如:adb uninstall com.baidu.seach
7、获取设备 root 权限
adb root
root 权限为Android设备最高权限
8、将 ‘/system’ 部分置于可写入的模式
adb remount
执行了该命令之后,设备系统的一些文件就可以写入了
9、打开 shell 操作模式
adb shell
该命令执行后,设备进入 shell 编辑模式
10、退出 shell 模式
exit
在 shell 模式下执行该命令即可退出 shell 模式
11、adb 录屏以及导出命令
录屏:adb shell screenrecord /sdcard/test.mp4
导出录屏:adb pull /sdcard/test.mp4
这两个命令为成对使用 ,名字可以随意更改 即 test 可以随意更改,但是前后两个命令需要保持一致
12、adb 截图以及导出命令
截图:adb shell screencap -p /sdcard/screen.png
导出截图:adb pull /sdcard/screen.png
这两个命令为成对使用 ,名字可以随意更改 即 screen可以随意更改,但是前后两个命令需要保持一致
13、adb 启动单个界面
adb shell am start -a action字符串
这个需要 Activity 配置了可以通过 action 启动
14、adb 启动应用
adb shell am start 包名 例如 adb shell am start com.java.android
执行该命令前提是设备内已经安装了该应用
15、adb 杀死 apk 进程
adb shell am force-stop 包名 例如 adb shell am force-stop com.kotlin.android
执行该命令前提是设备内已经安装了该应用
16、获取屏幕分辨率
adb shell wm size
执行该命令方便进行屏幕适配
17、打印栈信息
adb shell dumpsys activity | findstr Run
执行该命令可以查看当前设备有哪些 Activity 还在运行
18、adb 抓取日志
adb logcat -v time > 导出路径以及文件 例如: adb logcat -v time > D:\debug.log
该命令执行之后,可以获取到比 as 日志工具栏还要详细的日志哦 修复bug好帮手。
19、查看进程
adb shell ps|findStr 包名 例如:adb shell ps|findStr com.alibaba.launcher
执行改命令可以查看到当前 apk 下有哪些进程在运行
20、adb 修改 host 文件内容
adb root
adb remount
adb shell
cat /etc/hosts
echo "替换后ip 替换前ip" >> /etc/hosts
这里需要注意 替换前与替换后ip之间有一个空格,其次,测试环境与线上环境不需要进行分类打包了,通过这种方式可以直接用线上包测试 测试环境接口,再也不用等着 as 长时间打包过程了
21、清空 host 文件内指定的 ip
adb root
adb remount
adb shell
cat /etc/hosts
echo "" > /etc/hosts
该命令可以将之前指定的 ip 全部清除恢复 apk 内正常的请求地址,以上各个步骤缺一不可。
总结
草草的回顾了下自己之前发的文章,也在不断的浏览各种 Android 开发大佬的公众号,但是随着时间的增加,技术的积累,很多公众号发的东西已经毫无营养,甚至是已经肆意妄为,当下大环境的影响吧。随着工作量的增加自己发的东西越来越少了,实在是抱歉,但总觉得回归本真最好,博客只是自己知识的总结和记录罢了,并不是为了吸引眼球,或是获得名利和知名度。祝好各位公众号开发大佬,望好自为之。
|