调试Android程序有时需要adbshell命令。adb的全称是AndroidDebugBridge,起到调试桥梁的作用。通过adb,我们可以在Eclipse中通过DDMS调试Android程序。说白了就是调试工具。adb允许IDE通过监听SocketTCP5554等端口与Qemu通信。默认情况下,当我们运行Eclipse时,adb进程会自动运行。adb是一个C/S模式的程序,它由客户端、服务器和守护进程三部分组成。客户端和服务器运行在开发机上,守护进程运行在模拟器或设备上。adb一般位于/platform-tools/目录下,也就是androidsdk的安装目录。可以将adb路径添加到系统环境变量路径中,例如:D:\sdk\platform-tools;这样你在打开powershell的时候就可以响应adb命令,而不必每次都进入adb目录。以下是常用的adb命令adb常用命令显示系统中所有Android平台:androidlisttargets显示系统中所有AVD(模拟器):androidlistavdcreateAVD(模拟器):androidcreateavd-namename-targetplatformnumber启动模拟器:emulator-avdname-sdcard~/name.img(-skin1280×800)deleteAVD(emulator):androiddeleteavd–namenamecreateSDCard:mksdcard1024M~/name.imgAVD(emulator)location:Linux(~/.android/avd)Windows(C:\DocumentsandSettings\Administrator\.android\avd)启动DDMS:ddms显示所有当前运行的模拟器:adbdevices对某个模拟器执行命令:abd-s模拟器号安装应用命令:adbinstall-rApplication.apk获取模拟器中的文件:adbpull向模拟器写入文件:adbpush进入模拟器的shell模式:adbshel??l启动SDK、文档和示例下载管理器:Android卸载apk包:adbshel??lcddata/apprmapk包e退出主包名dbuninstallapkpackageadbinstall-rapkpackage查看adb命令帮助信息:adbhelp在命令行查看LOG信息:adblogcat-s标签名adbshell后面的命令主要来自:sourcecode\system\core\toolbox目录和源代码\frameworks\base\cmds目录。删除系统应用程序:adbremount(重新挂载系统分区,使系统分区重新可写)。adbshel??lcdsystem/apprm*.apk获取管理员权限:adbroot启动Activity:adbshel??lamstart-n包名/包名+类名(-n类名,-aaction,-ddate,-mMIME-TYPE,-ccategory,-e扩展数据,等待)。发布端口:可以设置任意端口号作为主机向模拟器或设备的请求端口。如:adbforwardtcp:5555tcp:8000复制文件:可以将文件复制到设备或从设备复制文件,将文件或目录复制到设备或模拟器:adbpush例如:adbpushtest.txt/tmp/test.txt从设备或模拟器复制文件或目录:adbpull例如:adbpull/addroid/lib/libwebcore.so。搜索模拟器/设备实例:获取当前运行的模拟器/设备实例列表和每个实例的状态:adbdevices查看错误报告:adbbugreport记录无线通信日志:一般来说无线通信日志很多,在没有必要运行时记录,但我们仍然可以通过命令设置记录:adbshel??llogcat-bradio获取设备的ID和序列号:adbget-productadbget-serialno访问数据库SQLite3adbshel??lsqlite3cdsystem/sd/data//进入指定文件夹inthesystemls//列出当前文件夹的内容rm-rxxx//删除名为xxx的文件夹及其中的所有文件rmxxx//删除文件xxxrmdirxxx//删除xxx的文件夹