调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用。通过adb我们可以在Eclipse中通过DDMS来调试Android程序,说白了就是debug工具。adb通过监听Socket TCP 5554等端口让IDE和Qemu通讯。默认情况下当我们运行Eclipse时adb进程就会自动运行。adb是一个C/S模式的程序,由三个部分组成:a client,a server and a daemon。其中client和server运行在的development machine上,daemon运行在emulator或设备上。
adb一般位于/platform-tools/目录下,其中是android sdk的安装目录。可以把adb 路径添加进系统环境变量path里面,例:D:\sdk\platform-tools;这样就能在打开powershell时就能响应adb命令,不用每次都进入adb目录。以下是常用adb命令
adb 常用命令大全
- 显示系统中全部Android平台:
- android list targets
- 显示系统中全部AVD(模拟器):
- android list avd
- 创建AVD(模拟器):
- android create avd –name 名称 –target 平台编号
- 启动模拟器:
- emulator -avd 名称 -sdcard ~/名称.img (-skin 1280×800)
- 删除AVD(模拟器):
- android delete avd –name 名称
- 创建SDCard:
- mksdcard 1024M ~/名称.img
- AVD(模拟器)所在位置:
- Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)
- 启动DDMS:
- ddms
- 显示当前运行的全部模拟器:
- adb devices
- 对某一模拟器执行命令:
- abd -s 模拟器编号 命令
- 安装应用程序:
- adb install -r 应用程序.apk
- 获取模拟器中的文件:
- adb pull <remote> <local>
- 向模拟器中写文件:
- adb push <local> <remote>
- 进入模拟器的shell模式:
- adb shell
- 启动SDK,文档,实例下载管理器:
- android
- 缷载apk包:
- adb shell
- cd data/app
- rm apk包
- exit
- adb uninstall apk包的主包名
- adb install -r apk包
- 查看adb命令帮助信息:
- adb help
- 在命令行中查看LOG信息:
- adb logcat -s 标签名
- adb shell后面跟的命令主要来自:
- 源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。
- 删除系统应用:
- adb remount (重新挂载系统分区,使系统分区重新可写)。
- adb shell
- cd system/app
- rm *.apk
- 获取管理员权限:
- adb root
- 启动Activity:
- adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
- 发布端口:
- 你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
- adb forward tcp:5555 tcp:8000
- 复制文件:
- 你可向一个设备或从一个设备中复制文件,
- 复制一个文件或目录到设备或模拟器上:
- adb push <source> <destination></destination></source>
- 如:adb push test.txt /tmp/test.txt
- 从设备或模拟器上复制一个文件或目录:
- adb pull <source> <destination></destination></source>
- 如:adb pull /addroid/lib/libwebcore.so .
- 搜索模拟器/设备的实例:
- 取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
- adb devices
- 查看bug报告:
- adb bugreport
- 记录无线通讯日志:
- 一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
- adb shell
- logcat -b radio
- 获取设备的ID和序列号:
- adb get-product
- adb get-serialno
- 访问数据库SQLite3
- adb shell
- sqlite3
- cd system/sd/data //进入系统内指定文件夹
- ls //列表显示当前文件夹内容
- rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
- rm xxx //删除文件xxx
- rmdir xxx //删除xxx的文件夹