Android 的调试原理
2010-02-24 20:16:00 来源:WEB开发网[2009-06-06 14:05:45 - Helloworld] Installing Helloworld.apk...
每一行都基本表示一个命令在执行,emulator-5554是仿真器的初始端口了。
最后一句等于命令:adb -s emulator-5554 install helloworld.apk
如果报了类似以下的错误,那得(加个-r)重装,因为该App已经在该Emulator下运行了
DDM dispatch reg wait timeout
Can't dispatch DDM chunk 52454151: no handler defined
Can't dispatch DDM chunk 48454c4f: no handler defined
网上没有看到这个错误因此顺便提下解决方法:adb -s emulator-5554 install -r helloworld.apk
三,了解下DDMS:(都是adb的命令相当的功能)
DDMS有几个界面:
1)Devices:可以查看到当前运行的Emulator和其内运行的应用
2)Emulator control,即仿真器的硬件设置项等:
设置当前注册的网络状态(Home,Roaming,UnRegistered,Searching)
数据业务的速度设置:有GSM,GPRS,EDGE,UMTS,HSDPA(3.5G?)
还有载入KML或NMEA文件来模拟GPS数据
3)还可以查询Threads,Heap,File Explorer、重启adb,抓屏等,其他都是在调用adb。
4)关于Logcat
从Windows->Prereference->android->DDMS->Loggin Level进行设置打印等级,
不过默认下只打印入口线程的信息,射频和Tapi的动作信息要通过adb Logcat -b radio打开,
os-events相关的打印通过adb logcat -b events.打开,
Log默认被写入到手机的/data/anr/traces.txt文件中。
四,Debug面板
这个面板对于熟悉Eclipse的用户来说应该不用看了。
通过以下三步将自己的应用或将已经跑起来的应用加入调试列表:
1)选择Devices列表中Your app,
2)选择臭虫按钮将该程序加载进调试状态
3)OK,加断点吧。不过源代码要最新的否则断点不起作用。
五、DDMS如何让IDE的调试工作起来呢?
1)有几个组成:
一个是adb(Android Debug Bridge)参考第一部分,它起到调试桥的作用;
另一类是运行在Device/Emulator端的adb daemon, VM, debugger, your Applicatioin,
通过下面句话就可以理解它们的关系:
更多精彩
赞助商链接