一、adb介绍
ADB的全称为Android Debug Bridge,字面意思就是安卓调试桥接,简单点说,它是Android系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后可以在电脑上向手机发送一些指令,完成一些我们需要的工作。ADB的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通信,默认情况下ADB会daemon相关的网络端口,所以当我们运行Eclipse是ADB进程就会自动运行。
主要功能:1)运行设备的shell(命令行)
2)管理模拟器或设备的端口映射
3)计算机和设备之间上传/下载文件
4)将本地apk软件安装至模拟器或Android设备
ADB是一个客户端-服务端程序,其中客户端是用来操作的电脑,服务器端是Android设备。
二、adb常用命令
所有的命令工具都可使用-help参数查看用法,所以我们可以使用 adb –help 来获取adb所有参数。以下介绍一些常用的命令:
1.显示系统中全部Android平台:android list targets
2.显示系统中全部AVD(模拟器):android list avd
3.创建AVD:emulator –avd 名称 –sdcard ~/名称.img (-skin 1280*800)
4. 启动模拟器:emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
5. 删除AVD(模拟器):android delete avd --name 名称6. 创建SDCard:mksdcard 1024M ~/名称.img7. AVD(模拟器)所在位置:Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)8. 启动DDMS:ddms9. 显示当前运行的全部模拟器:adb devices10. 对某一模拟器执行命令: abd -s 模拟器编号 命令11. 安装应用程序:adb install -r 应用程序.apk12. 获取模拟器中的文件:adb pull <remote> <local>13. 向模拟器中写文件:adb push <local> <remote>14. 进入模拟器的shell模式:adb shell15. 启动SDK,文档,实例下载管理器:android16. 缷载apk包: adb shell cd data/app rm apk包 exit adb uninstall apk包的主包名 adb install -r apk包17. 查看adb命令帮助信息:adb help18. 在命令行中查看LOG信息:adb logcat -s 标签名19. adb shell后面跟的命令主要来自:源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。20. 删除系统应用: adb remount (重新挂载系统分区,使系统分区重新可写)。 adb shell cd system/app rm *.apk21. 获取管理员权限:adb root22. 启动Activity:adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。23、发布端口:(你可以设置任意的端口号,做为主机向模拟器或设备的请求端口)如: adb forward tcp:5555 tcp:800024、复制文件:(你可向一个设备或从一个设备中复制文件) 复制一个文件或目录到设备或模拟器上: 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 .25、查看bug报告: adb bugreport 27、记录无线通讯日志: 一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录: adb shell logcat -b radio28、获取设备的ID和序列号: adb get-product adb get-serialno29、访问数据库SQLite3 adb shell sqlite3#cd system/sd/data //进入系统内指定文件夹 #ls //列表显示当前文件夹内容 #rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 #rm xxx //删除文件xxx #rmdir xxx //删除xxx的文件夹