如何使用ADB进行调试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用ADB进行调试相关的知识,希望对你有一定的参考价值。
adb(android Debug Bridge)是Android SDK中一个通用的调试工具。我们可以通过这个工具管理设备或手机模拟器的状态。adb其实是一个客户端-服务器端程序, 其中客户端是你用来操作的电脑,服务器端是android设备。adb可以进行的操作包括:
1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
2、在设备上运行shell命令;
3、管理设备或手机模拟器上的预定端口;
4、在设备或手机模拟器上复制或粘贴文件。
adb的安装
电脑上需要安装客户端,设备上不需要安装,客户端包含在sdk里,只需要在手机上打开选项settings--applications--development--USBdebugging。
对于Mac和Linux用户,下载好的sdk解压后,可以放~或者任意目录。然后修改~/.bash_profile文件,设置运行环境指向sdk的tools目录。
具体是打开~/.bash_profile文件(如果没有此文件也可以自行添加),在里面加入一行:
export PATH=$PATH:<你的sdk目录>/tools
然后就可以使用adb命令了。
嫌安装麻烦的同学其实也可以省去上面安装步骤,直接输入完整路径来使用命令。
对于windows xp用户,需要先安装usb驱动,然后如果你只打算使用adb而不想下载整个sdk的话,可以下载这个单独的adb工具包,下载后解压,把里面的adb.exe 和 AdbWinApi.dll 两个文件放到系统盘的windows/system32 文件夹里就可以了。
adb的常用命令
1、安装应用到模拟器:
adb install <path_to_apk></path_to_apk>
比较郁闷的是,Android并没有提供一个卸载应用的命令,只能自己手动删除:
adb shell
cd /data/app
rm app.apk
2、进入设备或模拟器的shell:
adb shell
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg会打印出内核的调试信息。
3、发布端口:
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
4、复制文件:
你可向一个设备或从一个设备中复制文件,复制一个文件或目录到设备或模拟器上:
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 .
5、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices
6、查看bug报告:
adb bugreport
7、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
8、获取设备的ID和序列号:
adb get-product
adb get-serialno
9、访问数据库SQLite3
adb shell
sqlite3 参考技术A 是用来管理模拟器和真机的通用调试工具,该工具功能强大,直接打开cmd即可使用adb命令,adb的全称为Android Debug Bridge,是起到调试桥的作用,通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具,adb的工作方式比较特殊,采用**Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行,借助adb工具我们可以管理设备或手机模拟器的状态,还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等,其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作
1:查看当前模拟器或者Android设备实例的状态
一般在使用前都会使用adb devices这个命令查看一下模拟器的状态,通过这个命令得到ADB的回应信息,可以看到ADB作为回应为每个实例制定了相关的信息
1.1:emulator-5554为实例名称
1.2:device为实例连接状态,device表示此实例正与adb相连接,offline表示此实例没有与adb连接或者无法响应
2:安装和卸载APK应用程序
你可以从电脑上复制一个APK应用到模拟器或者Android设备上,通过adb install <path_to_apk安装软件,adb uninstall <packageName卸载软件,如果你不知道这个包名,在AndroidManifest.xml里的找package=""就可以了
2.1: 先把apk文件拷贝到sdk目录下的tools
2.2: 进入dos下切换到SDK的安装路径下的tools目录
2.3 :执行安装命令
adb install <path_to_apk
发生的错误,因为我连接了真机,而且也打开了模拟器,所以adb给我的回应信息是“比一个多的驱动设备和模拟器”,我最后关闭掉了模拟器在运行安装命令,就提示安装成功了
卸载APK
3:从本机上复制文件到模拟器或者Android设备
adb push <本地路径<远程路径,<本地路径指的是自己的机器上或者模拟器上的目标文件,<远程路径指的是远程设备实例上的目标文件
4:从模拟器复制文件到模拟器或者Android设备
adb pull <远程路径<本地路径,<本地路径指的是自己的机器上或者模拟器上的目标文件,<远程路径指的是远程设备实例上的目标文件
输入adb s鸡浮惯簧甙毫轨桐憨昆hell就可以进入shell命令行了,可以使用一些常用的shell命令,如:ls命令列出了文件本回答被提问者和网友采纳
使用adb命令进行无线安装调试apk
参考技术A首先确保你的手机和电脑在同一个局域网里,然用USB线连接手机和电脑。
看到这个命令输出是 connected to ip地址:5555 表明连接成功,拔掉数据线,就可以进行无线操作了,妈妈再也不担心我的USB线坏了。
当你重启了手机之后,你需要再次用USB连接手机到电脑,并且输入 adb tcpip 5555 继续监听这个接口就可以了。
以上是关于如何使用ADB进行调试的主要内容,如果未能解决你的问题,请参考以下文章