ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机).
它的主要功能有:
运行设备的shell(命令行)
管理模拟器或设备的端口映射
计算机和设备之间上传/下载文件
将本地apk软件安装至模拟器或android设备
ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.
先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. 设备上不需要安装, 只需要在手机上打开选项settings-applications-development-USB debugging.
对于Mac和Linux用户, 下载好的sdk解压后, 可以放~或者任意目录. 然后修改~/.bash_profile文件, 设置运行环境指向sdk的tools目录.具体是打开~/.bash_profile文件(如果没有此文件也可以自行添加), 在里面加入一行:
export PATH=${PATH}:<你的sdk目录>/tools
例如:
然后就可以使用adb命令了.
嫌安装麻烦的同学其实也可以省去上面安装步骤, 直接输入完整路径来使用命令。
现在说下ADB常用的几个命令
1. 查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
2. 安装软件
adb install
这个命令将指定的apk文件安装到设备上
adb -s可以指定仿真器序号,用来选择操纵哪一个仿真器,例如adb -s emulator-5554 install email.apk,指定将email.apk安装在仿真器emulator-5554。
3. 卸载软件
adb uninstall <软件名>
adb uninstall -k <软件名> 注意使用包名,例如com.zhang.Android.HelloWorld
如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
你可以从开发环境上传和安装应用程序 apk套件到实际硬设备或 Android仿真器上,执行上面“adb install”命令,后面接 apk文件路径名称。 执行上面“adb uninstall”命令,后面接 package名称,可以移除应用程序 apk套件。注意安装是接 apk文件路径名称(adb install helloWorld.apk),而移除是接 package名称(adb uninstall com.example.android.helloWorld)。详细 package名称可以从 Android操作系统的“/data/data”目录或“ /data/app”目录(要先用“ adb shell”命令进入 Android操作系统)
4. 登录设备shell
adb shell
adb shell
这个命令将登录设备的shell.进入 Android操作系统命令行模式后,要离开回到控制台窗口,你可以使用 CTRL+D或 “exit”命令。
后面加
5. 在设备与电脑之间进行文件传送
adb push <本地路径> <远程路径> 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
adb pull <远程路径> <本地路径> 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
“adb push”命令可以上传文件到 SD存储卡目录“/sdcard”,因为 Android操作系统会保护系统文件,其他目录会有存取的权限,是无法自由写入的,所以一般用户文件或照片文件都放在“/sdcard”目录内。“adb pull”命令是相反方向操作,将文件自 Android操作系统的“/sdcard”目录下载到个人计算机上。另外一种常用的做法是从“/data/data”目录或“ /data/app”目录将应用程序 apk套件抽出来,提供开发好的应用程序给其他人使用。
6. 显示帮助信息
adb help
这个命令将显示帮助信息
7.
$ adb logcat (监控仿真器运作记录)
adb logcat会实时监控Android仿真器运行时所生成的记录,此项功能对于程序开发人员用来除错帮助很大,开发人员可以从记录中得到应用程序运行时发生的错误消息。运行adb logcat后,若要离开监控模式,可以按Ctrl+C。
8.
$ adb bugreport (生成adb除错报告)
开发人员若要进一步得知系统生成的所有错误消息报告,可以运行adb bugreport指令来实现,该指令会将Android系统的dumpsys、dumpstate与logcat信息都显示出来。
9.
$ adb get-state (获得adb服务器运作状态) adb get-state会显示adb服务器的运作状态为何,共有offline (脱机)、bootloader (开机中)、与device (运作中) 三种状态。
10.
$ adb start-server (启动adb服务器) $ adb kill-server (关掉adb服务器) 通常启动Android服务器时,就会启动adb服务器了。可以使用adb get-
state来查知adb的状态。如果没有启动可以运行adb start-server启动它,若不想进行除错监控,可以运行adb kill-server关掉它
adb指令参数表
用 途 指 令 功 能 描 述
参数
adb -d
当Android手机用USB连接计算机时,
可通过adb -d对该装置下命令
adb -e
对正在运行的仿真器下指令
adb -s
指定仿真器序号
一般用途
adb devices
显示当前启动的仿真器装置序号
adb help
显示adb指令用法
adb version
显示adb版本
信息处理
adb install
安装APK应用程序组件
adb push
上传文件或目录
adb pull
下载文件或目录
指令列
adb shell
进入Android系统命令列模式
除错
adb logcat
监控仿真器运作记录
adb bugreport
生成adb除错报告
服务器
adb start-server
启动adb服务器
adb kill-server
关闭adb服务器
adb get-state
取得adb服务器运作状态
adb get-serialno
获得仿真器运行序号
网络
adb forward tcp:port
更改仿真器的网络TCP通信端口
adb install -s xxx.apk 安装程序至sd卡
adb install -r xxx.apk 重新安装程序
adb uninstall -k xxx.apk 保存数据和缓存路径
运行eclipse出现如下错误
emulator: ERROR: Could not create temporary hardware.ini: Permission denied
解决方法:先运行模拟器,emulator,再在eclipse下运行程序,选择相应的模拟器或设备即可。