Android 程序的开发调试
From:http://www.blogjava.net/anymobile/articles/293134.html
开发环境:Android SDK 1.5+Eclipse 3.4+ADT 0.9
系统环境:Ubuntu 8.10 / Windows XP
对于需要DEBUG的程序,或者图省事,用Eclipse的DDMS插件调试是最方便的;另外,我们也可以通过命令行来执行Android SDK的相关命令功能。
DDMS是个图形化界面,里面可以看到Device的运行情况,可以方便的操作PULL/PUSH apk等文件、查看实时LOG、拨打电话、发送短信。。。
不过对于某些特殊的应用,如Launcher应用(待机界面/主屏)的更新发布,则需要通过命令行来操作,如:
adb push E:\develop\apps\Launcher\bin\Launcher.apk /system/app
放在/system/app目录下,表示是系统级的应用;一般的应用,放到 /data/app目录下。
调试的时候看个人爱好,不过在命令行下面操作,似乎要节省些资源,下面是一些常用的命令:
adb shell restart
adb pull /data/data/com.android.launcher/databases/launcher.db .
adbshellls-l/sdcard
...如果需要调试短信互发或者电话互拨,这时候可以启用两个模拟器,通过端口号或者特别号码来识别设备。
更多的情况是,PC运行模拟器;USB接上手机设备,这时候也是有多个Device同时运行,可以在Eclipse的DDMS插件中选择查看某个Device的情况,或者我们还是通过adb命令来观察跟踪。
执行:adb devices
Listofdevicesattached
1234567890ABCDEFdevice
emulator-5554 device操作模拟器:
adb -s emulator-5554 push E:\develop\apps\Launcher\bin\Launcher.apk /system/appadb -s emulator-5554 logcat
D/GpsLocationProvider( 60): requestTime failed
D/GpsLocationProvider(60):NetworkThreadwaitfor300000ms
D/dalvikvm( 2319): GC freed 883 objects / 42936 bytes in 254ms操作手机:
adb -s 1234567890ABCDEF push E:\develop\apps\Launcher\bin\Launcher.apk /system/appadb -s 1234567890ABCDEF logcat
D/mountd ( 828): USB offline
I/QCRILCM(831):Receivedsrvsysevent:CM_SS_EVENT_RSSI(73729)
I/QCRILEVENT(831):qcril_event_main():1itemsonqueue
I/QCRILEVENT(831):De-queuedeventCM_SS_EVENT_RSSI(73729)
I/QCRIL(831):RIL<---CM_SS_EVENT_RSSI(73729)---AMSS
I/QCRIL_MSC(831):"AMSS"=>"RIL"[label="CM_SS_EVENT_RSSI"];