Android系统调试工具——ADB
Android Debug Bridge是个多功能的工具,可以管理设备上的执行状况。
即ADB是管理模拟器的一个工具。
包括下列三个部分:
客户端程序(Client):在开发环境上运行,也可以通过命令行模式shell接口执行adb命令来操作客户端程序。其他Android工具如开发工具ADT或调试监控系统DDMS都可以创建一个adb客户端。
服务器程序(Server):在开发环境的后台运行,服务器程序负责管理介于客户端程序和守护进程程序的通信沟通。
守护进程程序(Daemon):在实际硬件设备或虚拟设备的后台运行。
adb命令位于安装路径下的platform-tools路径中,把这个路径加在环境变量PATH中就可以在其他目录下使用adb命令。
adb命令的标准格式
adb [-d|-e|-s <serialNumber>] <command>
这是adb命令的标准格式,当你正在执行的仿真器有多个时,要加上仿真器序号来区别:
使用“-s <serialNumber>”选项参数;
使用“-d”选项参数,adb命令只会送到连接USB的实际硬设备;
使用“-e”选项参数,adb命令只会送到Android仿真器。
后面<command>是必要的命令。
安装与卸载应用程序apk文件
安装:
adb [-s <serialNumber>] install <path_to_apk>
范例:安装helloWorld.apk到Android仿真器序列号是5556的虚拟设备上:
adb –s emulator-5556 install helloWorld.apk
adb install helloWorld.apk
使用adb install安装apk组件程序时,安装在Android仿真器上的apk组件会被放在Android系统目录的/data/app下,这个目录下的应用程序文件名就是写程序时设置的Package name
卸载:
adb [-s <serialNumber>] uninstall <package>
范例:
adb –s emulator-5556 uninstall com.example.android.helloWorld.apk
adb uninstall com.example.android.helloWorld.apk
注意安装是接apk文件路径名称,而移除是接package名称。
手动删除:
adb shell
cd data/app
rm app.apk
Android操作系统命令行模式,使用shell命令
执行
adb shell
可以进入Android操作系统命令行模式,如此一来你就可以管理和查询Android操作系统的目录和执行相关的命令。
因为Android操作系统是Linux操作系统的一种,所以shell命令和Linux操作系统是相同的,例如ls命令显示文件目录,cd命令更改文件目录,mkdir命令创建目录,rmdir命令删除目录,rm命令删除文件,mv命令移动文件。
进入Android操作系统命令行模式后,要离开回到控制台窗口,可以使用exit命令。
上传文件到/sdcard或自/sdcard下载文件(复制文件)
上传,即从系统复制文件到设备:
adb push <local> <remote>
如:adb push d:test.txt /sdcard/
下载,即从设备复制文件到系统:
adb pull <remote> <local>
如:adb pull /sdcard/test.txt d:/
发布端口
可以设置任意的端口号,作为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
搜索/等待模拟器、设备实例
取得当前运行的模拟器,设备的实例列表及每个实例的状态|等待正在运行的设备。
adb devices
adb wait-for-device
查看Bug报告
adb bugreport
记录无线通讯日志
adb shell
logcat –b radio
获取设备ID和序列号
adb get-product
adb get-serialno
访问数据库SQLite3
adb shell
sqlite3