一、DDMS的使用
DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。
进入DDMS之后,界面如下:
二、ADB的使用
adb环境变量的配置:
http://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html
adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。
在使用adb指令之前,应该将adb所在目录配置到环境变量Path中去,这样在CMD命令行就能直接使用adb指令。
常用adb命令:
https://www.cnblogs.com/bravesnail/articles/5850335.html
1.adb devices:列出当前电脑连接的所有Android设备(包括真机和模拟器),可以查看设备的序列号,作为设备的唯一标识。
2.adb占用的端口是5037,可以在cmd中输入 netstat -oan命令来列出当前电脑所占有的所有端口,通过查看5037端口对应的PID,去任务管理器查询,就知道是哪个应用程序占据了这个端口,可以将这个程序关掉。
3.adb kill-server:中断adb服务,在DDMS中的devices可以看到设备会消失。
4.adb start-server:重启adb服务,在DDMS中的devices中可以看到设备又出现了。
5.adb [-s android设备序列号] install [-r] APK文件的带盘符路径:安装应用程序。
如果设备多于1台设备,需要指定-s加参数指定设备序列号(可以通过devices命令查看)
-r指的是强制安装,即如果不用-r,如果设备上有将要安装的这个应用程序,会安装失败。如下图:
如果你想把网络上下载的APP安装到虚拟机上,就要用到这个命令.
6. adb [-s android设备序列号] uninstall 应用程序包名:卸载应用程序。
如果设备多于1台设备,需要指定-s加参数指定设备序列号(可以通过devices命令查看)
因为应用程序的包名可以唯一标识应用程序,通过包名就可以卸载应用程序。
7. adb [-s android设备序列号] shell:进入设备的linux目录,命令会出现#,表示等待用户输入linux指令。在DDMS中的File Explorer的设备文件目录,就是用linux指令来列出来的。
# ls -l:列出手机目录信息
# logcat:查看手机日志信息
8. adb pull :将文件从设备拷贝到电脑
9. adb push :将文件从电脑拷贝到设备
10. # cat 文件名(带后缀) 打印文件内容,比如在向sp更新内容之后,不必要每次都把文
件pull到电脑上查看,可以使用这个命令在打印文件查看内容。
11.adb wifi调试
1)手机开一个wifi,让电脑连上。
2)命令行 adb tcpip 5555
3) 命令行 adb connect 192.168.43.1(固定)
ADB的实际应用场景
1.安装APK adb install , 如果有了apk,但是没有什么手机助手。只能用这种方式安装了。
2.我们公司的设备,一开始设备装了个应用,会自动启动。应用将回退按钮给屏蔽了,系统也没有悬浮球操作按钮,无法回到桌面。我就想了使用adb
查看手机运行的进程 http://blog.csdn.net/xingchenxuanfeng/article/details/50386689 adb shell ps
根据这个应用的名字,我大致就猜出了它的包名,执行adb uninstall 包名果断卸载,然后adb install 我的应用包名
我的应用装上了,我也想回到桌面啊,uninstall自己的应用太low了,用 adb shell am force-stop 包名,即可停止应用 。
3) adb shell input key event 4 (模拟android系统的返回键)
键值参考:http://blog.csdn.net/itfootball/article/details/37567373
ADB使用的问题
1) file explore下的data/data目录不显示:https://www.cnblogs.com/smyhvae/p/3881477.html
adb shell
su
chmod 777 data (一级一级的去改变权限)
本文转自屠夫章哥 51CTO博客,原文链接:http://blog.51cto.com/4259297/1673947,如需转载请自行联系原作者