首先需要先介绍一下,非shell命令和shell命令的一些区别(其实我觉得都差不多),书中道:需要提前使用adb shell命令才能运行的命令叫shell命令,直接用adb shell 运行的命令叫非shell命令(更懵了)
解读一下,就是一些命令需要提前使用 adb shell 进入到“命令行”模式,而一些命令可以以 adb shell/adb xxx命令 来执行命令
首先,大家如果使用手机的话需要安装adb功能模块,而模拟器自带adb模块,所以为了方便演示这里使用的是夜神模拟器。
使用夜神模拟器的小伙伴,打开模拟器之后,只需进入到模拟器的安装目录,而后进入到命令行模式
非adb shell
adb shell
大家可以看到,差别不是很大,不过稍后大家会看到一些命令是adb xxx,这种情况下进入到adb shell模式下恐怕就行不来了,所以说非shell也是有一定的道理的。
直接运行adb shell dumpsys命令会将当前系统所有运行的应用的的四大组件都打印出来
2. adb shell pm list packages 查看当前运行的程序包
3. adb shell dumpsys package [包名] 查看指定包名的详细信息
4. adb shell dumpsys meminfo [包名/pid] 查看指定包名或pid的内存信息
5. adb shell dumpsys dbinfo [包名] 查看指定包的存储的数据库信息
6. adb install [包绝对路径] 安装apk应用,适用于虚拟机,实际上直接拖拽就行
adb install -r [包绝对路径] 重复安装,或更新安装包
7. adb uninstall [包名] 卸载应用
这里给大家推荐一个小技巧,很多时候大家并不知道自己安装的apk安装好之后的包名是什么,导致后期一系列工作很难做,所以建议大家在安装之前查看一下当前的所有的包名,然后放入至Excel表格内,安装好新的apk之后,再将结果放入至表格,而后进行排除重复项,多出来的就是你刚刚安装的
然后进行删除安装包
8. adb pull [手机文件的绝对路径] [pc机的绝对路径]
将手机文件复制进pc主机内
9. adb push [pc机的绝对路径] [手机文件的绝对路径]
将PC主机文件复制进手机内
- adb shell screencap -p [想存放的位置]
- adb shell screenrecord [想保存的绝对路径]
尴尬了,虚拟机没按这个插件
12. adb shell input text [输入想要输入的内容] 代替手机键盘输入文本内容
这个命令感觉完全没有必要,因为手机也可以写东西,需要先选中手机想要输入的地方获取焦点,而后使用命令行输入
13. adb forward [协议:端口号] [协议:端口号]
adb forward [协议:转发的端口号] [协议:转发的端口号]
14. adb jdwp 查看设备中可以被调试的应用进程号
- adb logcat 查看当前日志信息
因为太多了,所以我们可以结合 findstr进行过滤
adb shell logcat | grep 需要注意的是,需要先进入adb shell下,以免报错
shell命令:
-
run-as [包名] 查看指定debug模式的包名的沙河数据
-
ps -t [pid] 查看指定进程的线程信息
ps | grep com.tencent.mm 查看指定包的进程信息 -
pm clear [包名]清空指定包的数据
这个不演示 -
pm install [手机内apk绝对路径] 这个其实和adb install一样,区别就是这个绝对路径跟的是在手机apk安装包的路径,经过测试,写pc机的路径是不行的
-
pm uninstall [包名] 卸载手机里的应用,功能和 adn uninstall一样
-
am start [包名] 启动一个应用
启动成功 -
am startservice [包名] 启动一个服务,和 am start 类似
-
netcfg 查看设备的ip地址
-
netstat 查看设备的端口号信息
-
top 查看当前应用的cpu消耗信息
top [-n/-m/-d/-s/-t]
-m 最多显示多少个进程
-n 刷新次数
-d 刷新健哥时间(默认5秒)
-s 按列排序
-t 显示线程信息
- getprop [属性值名称]