ADB工具使用及其常用命令
Posted lxszero
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADB工具使用及其常用命令相关的知识,希望对你有一定的参考价值。
●ADB简介
ADB-android Debug Bridge,起调试桥的作用通过 ADB可以在eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。
●ADB组成机制
在PC端包含一个客户端和adb的server,在设备端运行了adb daemon,也就是adb的守护进程。客户端其实就是我们看到的命令行的程序,用于接收输入的adb的操作指令,server用作和客户端进行交互并且和设备端adbd进行通信,来通过adbd 具体实现对设备的控制。
●adb devices(列出当前连接的设备,获取设备id和设备状态)
1.连了一台真机
2.连了一台真机一台虚拟设备
●emulator @avd60(avd60是新建的虚拟设备名)
●dir *.jpg(查看电脑当前目录下的jpg文件)
●adb push (把文件从电脑上载到设备,也可以说是复制)
如果当前多台设备:adb -s + 设备ID 指定目标设备
adb -s emulator-5554 push 2.jpg /data/temp/2.jpg
指令意思:把2.jpg上载到emulator-5554设备的/data/temp目录下
如果当前一台设备:
adb push 2.jpg /mnt/sdcard/2.jpg
●adb shell(检查文件有无上载成功)
adb -s emulator-5554 shell(进入到设备的终端界面)
cd /data/temp
ls *.jpg
表示上载成功
●adb pull(把文件从设备下载到电脑,也可以说是复制)
如果当前多台设备:adb -s + 设备ID 指定目标设备
adb -s emulator-5554 pull /data/temp/2.jpg 22.jpg
指令意思:把2.jpg从/data/temp目录下载到本地,重命名22.jpg
如果当前一台设备:
adb pull /mnt/sdcard/2.jpg 33.jpg
●dir *.jpg(查看当前目录下的jpg文件)
●adb forward(端口转发命令,可以把在pc端端口的通信重定向到设备端指定的端口)
adb forward tcp:1080 tcp:1080 (电脑端1080端口通信转发到设备1080端口)
●adb kill-server(把当前电脑端的运行的adb server进程杀掉)
adb start-server (重启adb server进程)
适用范围:电脑端adb状态异常不响应,可以kill、start
●adb install (安装)
adb install mukewang.apk
●adb uninstall(卸载)
adb install +包名
如何获取包名?:2种方法
第一种获取包名的方法:
1.adb shell 进入中端界面
2.pm list packages
3.exit
4.adb uninstall cn.com.open.mooc
第二种获取包名的方法:
adb shell
cd /data/data/
ls
●adb shell(进入设备上的终端界面,在终端界面执行相应的操作命令,直接控制终端)
●adb shell top -m5( 查看应用CUP占用情况)
●adb shell dumpsys meminfo +包名
(Native/Dalvik的Heap 信息:它分别给出的是JNI层和Java层的内存分配情况,如果发现 这个值一直增长,则代表程序可能出现了内存泄漏)
●monkey测试举例:
adb shell monkey -p com.houbank.houbankfinance -s 1485957504289 --pct-trackball 10 --pct-nav 10 --pct-majornav 10 --pct-flip 10 --pct-appswitch 10 --pct-motion 10 --pct-touch 10 --ignore-crashes --ignore-timeouts --throttle 300 -v -v 1000000 >D:\\B.log
中途关闭monkey测试可以使用adb shell ps找到com.android.commands.monkey的pid,然后adb shell kill pid值就可以结束该测试
●查看电脑端口 netstat -na
以上是关于ADB工具使用及其常用命令的主要内容,如果未能解决你的问题,请参考以下文章
100天精通Andriod逆向——第1天:ADB原理及其常用命令