概念:adb(Android Debug Bridge)就是调试桥,其实也就是debug工具。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
作用:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
shell:在解释命令行之前,还是有必要了解下shell指令,进入shell百度百科。准确来说是针对性的进去shell模式,但是给人的感觉就是:xxx shell是从windows系统下的cmd进入另一系统的cmd操作,例如adb shell执行之后将表示接下来的命令都是针对Android系统的操作。
window下一些常用的命令:
#cd /system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹
#cd.. //退到次一级目录
#cd\ //退到根目录下的意思
#exit //退出
#cls //清屏
adb常用的命令:
1、查看全部模拟器
adb devices
2、获取root(管理员)权限(对于操作没权限的都可以尝试root一下)
adb root
3、普通安装
adb install -r xxx.apk(apk的绝对路径)
//也可以直接用adb install xxx.apk(apk的绝对路径)
4、安装apk到系统目录下,保证不能被卸载adb root//获取root权限
adb remount //挂载系统分区,使系统分区重新可写
adb push xxx.apk(apk的绝对路径) /system/app
//***有时候是可以直接push的
5、卸载普通apk包
adb shell
cd /data/app
rm xxx.apk
exit
adb uninstall apk包名 //方法一:整体卸载
adb uninstall -k <软件名> //方法二:加k参数,表示卸载软件但是保留配置文件和参数
6、卸载系统apk包
adb remount
adb shell
cd /system/app
rm xxx.apk
7、获取模拟器中的文件(remote意为远程,local意为局部),从设备上下载文件到电脑上,remote指远程路径,local指本地路径
adb pull <remote> <local>
8、向模拟器中写文件,把本地文件写到设备上,remote指远程路径,local指本地路径
adb push <local> <remote>
9、进入模拟器的shell模式
adb shell
10、查看adb命令帮助信息
adb help
11、在命令行中查看LOG信息
adb logcat -s 标签名
12、查看bug报告
adb bugreport
13、记录无线通讯日志(一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令设置记录)
adb shell
logcat -b radio
14、获取设备的ID和序列号
adb get-product
adb get-serialno
15、访问数据库SQLite3
adb shell
sqlite3
16、发布端口,你可以设置任意的端口号,做为主机向模拟器或设备的请求端口
adb forward tcp:5555 tcp:8000
17、获取设备的ID和序列号
adb get-product//获取设备ID
adb get-serialno//获取设备序列号
18、复制一个文件或目录到设备上
adb push <source> <destination></destination></source>
//如:adb push test.txt /tmp/test.txt
19、从设备或模拟器上复制一个文件或目录
adb pull <source> <destination></destination></source>
//如:adb pull /addroid/lib/libwebcore.so .
20、启动SDK,文档,实例下载管理器
android
21、显示系统中全部Android平台:
android list targets
22、显示系统中全部AVD(模拟器):
android list avd
23、创建AVD(模拟器):
android create avd --name 名称 --target 平台编号
24、启动模拟器:
emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
25、删除AVD(模拟器):
android delete avd --name 名称
26、创建SDCard:
mksdcard 1024M ~/名称.img
27、AVD(模拟器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)
28、启动DDMS:
ddms
29、对某一模拟器执行命令:
abd -s 模拟器编号 命令
30、启动Activity:
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)
ps:adb shell后面跟的命令主要来自源码\system\core\toolbox目录和源码\frameworks\base\cmds目录