一、工具介绍
android-sdk-linux_x86/tools下有一堆工具,今天要用的是:Android Debug Bridge,在android开发过程中,这个工具是使用得最多的。(缩写adb,有点像gcc的gdb似的)
二 .首先需要下载adb for linux的工具包 下载地址adb start-server – 实际上它会启动一个 adb fork-server server
adb kill-server – kill掉
adb devices – 列出所有的设备
解压到任何地方,不要删除掉就是了
因为ubuntu这样的系统都是默认以非root身份在运行的,要使用usb调试,需要sudo支持。
$ lsusb 查看usb使用情况
通过两次比较,发现如下usb口是当前使用的端口:Bus 002 Devices 004:ID 230b:0100
ID 230b 就是idVendor ,0100就是 idProduct
然后新建并编辑一个文件
sudo vi /etc/udev/rules.d/70-android.rules
在里面写入:
我的的系统是Ubuntu10.10,则写入下面这句
SUBSYSTEM=="usb", ATTRS{idVendor}=="230b", ATTRS{idProduct}=="0100",MODE="0666"
其他厂商的如下:
Acer | 0502 |
Dell | 413c |
Foxconn | 0489 |
Garmin-Asus | 091E |
HTC (Older Phones) | 0bb4 |
HTC (Newer phones) | 18d1 |
Huawei | 12d1 |
Kyocera | 0482 |
LG | 1004 |
Motorola | 22b8 |
Nexus One/S | 18d1 |
Nvidia | 0955 |
Pantech | 10A9 |
Samsung | 04e8 |
Sharp | 04dd |
Sony Ericsson | 0fce |
ZTE | 19D2 |
然后保存退出,再设置一下权限
sudo chmod a+rx /etc/udev/rules.d/70-android.rules
这时候还需要编辑一下 ~/.bashrc 文件加入adb tool的路径
vi ~/.bashrc
在末尾加入,其中红色部分就是刚下载的工具包解压的路径
export PATH=${PATH}:/home/luobin/platform-tools
运行命令,重启udev:
$sudo service udev restart
现在需要重启一下你的Ubuntu,然后USB连接手机,确保usb调试已打开,在终端下输入
三、重新启动adb server
(很重要)拔掉usb重新连上再执行:
sudo ./adb kill-server
./adb devices
./adb root (这一步很重要 )
四、使用usb进行调试
问题说明中的问题至此已经得到解决。
如果一切正常的话
输入
adb devices
就能显示出当前连接到电脑的android设备 ^_^
adb shell
就能在Ubuntu上的终端执行android的shell命令了
adb 常用命令大全
1. 显示系统中全部Android平台:
android list targets
2. 显示系统中全部AVD(模拟器):
android list avd
3. 创建AVD(模拟器):
android create avd --name 名称 --target 平台编号
4. 启动模拟器:
emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
5. 删除AVD(模拟器):
android delete avd --name 名称
6. 创建SDCard:
mksdcard 1024M ~/名称.img
7. AVD(模拟器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)
8. 启动DDMS:
ddms
9. 显示当前运行的全部模拟器:
adb devices
10. 对某一模拟器执行命令:
abd -s 模拟器编号 命令
11. 安装应用程序:
adb install -r 应用程序.apk
12. 获取模拟器中的文件:
adb pull <remote> <local>
13. 向模拟器中写文件:
adb push <local> <remote>
14. 进入模拟器的shell模式:
adb shell
15. 启动SDK,文档,实例下载管理器:
android
16. 缷载apk包:
adb shell
cd data/app
rm apk包
exit
adb uninstall apk包的主包名
adb install -r apk包
17. 查看adb命令帮助信息:
adb help
18. 在命令行中查看LOG信息:
adb logcat -s 标签名
19. adb shell后面跟的命令主要来自:
源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。
20. 删除系统应用:
adb remount (重新挂载系统分区,使系统分区重新可写)。
adb shell
cd system/app
rm *.apk
21. 获取管理员权限:
adb root
22. 启动Activity:
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
23、发布端口:
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
24、复制文件:
你可向一个设备或从一个设备中复制文件,
复制一个文件或目录到设备或模拟器上:
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、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices
26、查看bug报告:
adb bugreport
27、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
28、获取设备的ID和序列号:
adb get-product
adb get-serialno
29、访问数据库SQLite3
adb shell
sqlite3
#cd system/sd/data //进入系统内指定文件夹
#ls //列表显示当前文件夹内容
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
#rm xxx //删除文件xxx
#rmdir xxx //删除xxx的文件夹