Android的调试原理
2010-06-13 15:16:00 来源:WEB开发网/* 今天学习了用Eclipse 来调试Android的代码,首次使用,可能有的问题很基本,有问题请指出,交流嘛:) */
(笔记中提到的Emulator也可以理解成Device)
一、adb的介绍:
adb(Android Debug Bridge)包括三个部分:
1)adb client, 运行在PC上(为DDMS,即IDE工作)
2)adb daemon(守护进程), 运行于Emulator(为与Emulator中的VM交互工作);
3)adb server(服务进程), 运行在PC(任务管理器上有),管理着adb client和adb daemon的通信.server与client通信的端口是是5037,
adb server会与emulator交互的,使用的端口有两个,一个是5554专门用于与Emulator实例的连接,那么数据可以从Emulator转发给IDE控制台了,另一个则是5555,专门与adb daemon连接为后面调试使用。
PS:Emulator/Device占用两个(一组)端口,一个为偶数的5554,一个奇数的5555。
如果还开启其他的Emulator,则使用的另一组端口是5556,5557,一直到5585.
adb server开启时就是通过查找5555-5585之间端口来建立与模拟器的连接的,建立连接后就可以用adb的相关命令了。
如果您安装了ADT就基本不需要adb的命令了(因为DDMS会调用ADB进行透明操作)
关于本机的端口使用情况可以使用netstat [-a] [-n]来查询验证一下。
二、观察一组数据:
1,在开启仿真器时有一些打印:
[2009-06-06 14:04:16 - Helloworld] Android Launch!
[2009-06-06 14:04:17 - Helloworld] adb is running normally.
[2009-06-06 14:04:17 - Helloworld] Performing com.android.hello.Helloworld activity launch
[2009-06-06 14:04:17 - Helloworld] Automatic Target Mode: Preferred AVD 'lab' is not available. Launching new emulator.
[2009-06-06 14:04:17 - Helloworld] Launching a new emulator with Virtual Device 'lab'
[2009-06-06 14:04:24 - Helloworld] New emulator found: emulator-5554
[2009-06-06 14:04:24 - Helloworld] Waiting for HOME ('android.process.acore') to be launched...
[2009-06-06 14:05:45 - Helloworld] HOME is up on device 'emulator-5554'
[2009-06-06 14:05:45 - Helloworld] Uploading Helloworld.apk onto device
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接