A. 【android】如何使用ADB进行调试
1、adb devices
( 用于查看当前adb连接的设备有哪些,这里目前是无)
(1)安卓怎么设置abd环境扩展阅读:
无线使用ADB(Android Debug Bridge)非常的实用,它能够让你的手机用无线来取代USB连接,与电脑链接起来更加的方便快捷,还可以保护电池。需要root。
还可以进行以下的操作:
1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
2、在设备上运行shell命令;
3、管理设备或手机模拟器上的预定端口;
4、在设备或手机模拟器上复制或粘贴文件;
老玩家对adb这个调试工具肯定不陌生了,不过一般都是用USB连接来玩儿,这次带来的是用无线进行连接,就太强大了,毕竟usb连接对电池的寿命有一定影响。
B. 安卓手机怎么打开adb调试
vivo手机首次开启USB调试,需进入设置--系统管理--关于手机--软件版本号或进入设置--我的设备--更多参数,连续点击软件版本号7次,再进入设置--系统管理--开发者选项--进入开启USB调试。
部分机型需进入设置--更多设置--关于手机--(版本信息)--连续点击软件版本号7次后,再进入设置--更多设置的最底部找到“开发者选项”,进入开启USB调试;
如果您在如上路径没有找到USB调试,请在拨号界面输入*#*#7777#*#*进入开启。
C. 常用的adb命令
在平时的工作中,会经常用到adb命令,在这里稍微整理了一下。
一.概要
1.什么是adb?
adb全称为Android Debug Bridge,就是起到调试桥的作用。顾名思义,adb就是一个debug工具。
2.adb工作原理
不是很理解?那就来看看它的工作原理吧。
上图是一个简单的adb工作原理图。adb客户端服务器端程序,由上图可以看出它主要三个组件组成:Client,Server,Daemon。
(1)当你启动一个adb Client(客户端),Client首先会选确认是否已有一个adb
Server(服务器)进程在运行,如果没有,则会启动Server进程。此时,adb Server就会绑定本地的TCP端口5037,并监听adb
Client发来的命令。
(2)接着,Server将会扫描所有5555到5585范围内的奇数端口来定位所有的模拟器或设备,并与之建立连接。一旦Server找到
了adb
daemon(守护程序),它将建立一个到该端口的连接,这样,我们就可以使用adb命令控制和访问模拟器或设备了。在这里,需注意的是任何模拟器或设备实例会取得两个连续的端口:一个偶数端口用来相应控制台的连接,和一个奇数端口用来响应adb连接。
3.adb的作用
借助adb工具,我们可以管理设备或手机模拟器的状态,还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。简而言之,adb就是连接Android手机和PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
二.常用命令
这个部分主要介绍adb的使用方法和一些常用的命令。
设置adb环境:将android sdk工作目录添加到系统环境变量中,则可使用adb命令了。
1. adb devices
查看当前连接的设备(连接计算机的Android设备或者模拟器)。
2.adb install
adb install <apk文件路径>,将指定的apk安装到设备上,安装的apk包会放在/data/app目录下。
几个参数:
-r 强制安装
-d(真机,多个设备中只有一个真机时适用)
-e(模拟器,多个设备中只有一个模拟器时适用)
-s(指定设备,后接序列号)
adb –s 44a188f9 install –r test.apk(其中44a188f9即序列号,通过adb devices可获取)
3.adb uninstall
adb uninstall <apk包名>
adb uninstall –k <apk包名>
-k参数为卸载软件时保留配置和缓存文件
4.adb reboot
重启android设备
5.adb shell
通过adb shell 命令,就可以进入设备或者模拟器的shell环境了,在这个linux shell中,我们就可以执行各种Linux命令了。
如果只想执行一条shell命令,就可以采用:adb shell [shell_command]
在实际使用中,经常与grep或findstr一起使用,起到过滤作用,查看自己需要的关键信息。
6.adb shell su
前提手机已经root。获取adb shell的root权限。
使用su提权,用户命令提示符有$变成#,如果手机没有root,会提示su:permission denied。
7.adb shell ps/top
查看当前终端中的进程信息,如pid等。
8.adb shell am/pm
am全称为activity manager,可使用am命令模拟各种系统的行为,如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等。
如:adb shell am start <apk包名>/<activityName>:启动一个activity。
pm全称为package manager,利用pm命令可模拟android行为或查询设备上的应用等。
如:adb shell pm list packages
列出当前设备所有已安装的程序的包名。
说明:
管道符“|”:可以把标准的输入流与标准的输出流进行合并,或者把某个命令的标准输出流作为另一个命令的标准输入流。
exit退出shell。
由于grep为linux命令,运行单条adb shell 时并没有进入linux
shell环境,并不能用grep等其他linux命令,只能用window cmd的命令。在这里可以用findstr来代替grep,使用方法为
findstr/grep [keyword]
更详细的内容可查看 参考文献3 和 参考文献4 。
对于常用的linux命令和常用的windows 控制台命令,以后再作总结。
9.adb pull 和 adb push
adb pull <设备中的文件路径> <本地路径>:从模拟器或设备中复制文件到本地。
adb push <本地文件路径> <设备中的路径>:将本地文件或目录复制到模拟器或设备。
这里还涉及到一个权限的问题,在后续的博文中再作介绍。
10.adb shell mpsys
Android提供的mpsys工具用于查看感兴趣的系统服务信息与状态。
参考下表:
11.adb shell monkey
跑monkey是android自动化测试的一种手段,所谓monkey测试就是模拟用户的按键输入,触摸屏输入,手势输入等。当Monkey程序在模拟器或设备运行的时候,如果用户比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey的随机重复的方法对apk作压力测试,来测试android
app的稳定性。
如下为测试腾讯新闻apk的一个简单实例:
说明:第一个-s指定设备,如果只连接了一台设备,可不用该参数。
-p <apk包名>只允许系统启动指定的app,如果不指定,将允许系统启动设备中的所有app,也可指定多个包。
--throttle <毫秒数> 指定用户操作(事件)间的时延。
--ignore-crashes 指定当应用程序崩溃时,Monkey依然发送事件,直到事件计数完成。
--ignore-timeouts 当应用程序发生ANR错误时,Monkey依然会发送事件,直到事件计数完成。
第2个-s,用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。
-v 用于指定反馈信息级别,总共分为level 0、level 1、level 2三个级别,级别越高,输出的日志越详细。
最后的数字(这里是500):表示Monkey程序模拟500次随机用户操作事件。
>输出测试结果到D:\monkeylog.txt
更详细的参数可查看 参考文献5 。
部分测试结果如下:
对于测试结果的分析,通过搜索关键词来定位错误,主要包括以下四个方面:
1)ANR(Application Not
Response):程序无响应,一般主线程超过5秒没处理就会出现ANR错误。通过搜索ANR关键词来定位关键的事件信息。除了导出日志外,还可以将/data/anr/目录下的trace.txt文件导出,用来定位分析问题。使用>adb
pull /data/anr/trace.txt d:\ 将trace.txt文件导出到d盘。
2)ForceClosed或其他异常退出信息:通过搜索Fatal关键词来定位。
3)崩溃问题:通过搜索Exception关键词来定位。
4)发生异常后,通过搜索Crash关键词来定位到详细的堆栈信息。
12.kill
kill用来中止一个进程。
比如我们在跑monkey的时候,怎么强制关闭monkey呢,可以用kill <monkey进程PID>
说明:另开启一个cmd,找到monkey的pid号,然后杀掉即可。
参考文献:
1.Android调试桥: http://www.iteye.com/topic/260042
2.Android性能分析工具mpsys的使用: http://www.open-open.com/lib/view/open1405061994872.html
3.adb shell 中的am pm命令: http://www.android100.org/html/201312/09/4957.html
4.adb shell 启动应用程序的方法: http://blog.chinaunix.net/uid-26997997-id-3350449.html
5.Monkey压力测试详解: http://blog.csdn.net/huangbiao86/article/details/8490743
D. 如何用adb连接android手机
(1)首先先用usb线连接android手机,然后输入指令:adb tcpip,端口号默认为5555。
(4)安卓怎么设置abd环境扩展阅读
adb是androidsdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能有:
1、运行设备的shell(命令行)。
2、管理模拟器或设备的端口映射。
3、计算机和设备之间上传/下载文件。
3、将本地apk软件安装至模拟器或android设备
ADB是一个客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备。而ADB驱动就是电脑与android设备的通信的客户端驱动程序。
E. 如何通过PC端连接Android设备进行adb调试
在电脑上下个adb工具包安装附加Google服务的,然后u *** 调试,电脑键盘win加r,然后后面的过程网上有教程
adb是什么?adb有什么用?adb工具如何用? 是用来管理模拟器和真机的通用调试工具,该工具功能强大,直接打开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端的桥梁,可以举游让用户在电脑上对手机进行全面的操作 二:ADB的主要功能有哪些? 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 <远程路径><本地路径>,<本地路径>指的是自己的机器上或者模拟器上的目标文件,<远程路径>指的是远程设备实例上的目标文件 5:使用shell命令 输入adb shell就可以进入shell命令行了,可以使用一些常用的shell命令,如:ls命令列出了文件
首先讲讲Android设备,大家都知道开发用的最多的Android设备就是手机了,今天主要讲两个Android设备的adb连接调试,一个是手机,一个是电视机顶盒。
一:手机端的adb调试
首先保证手机跟电脑处于同一个无线网
手机的IP地址查询:设置–关于手机–状态信息,就可以看到路由器分给手机的IP地址了,接下来就是adb调试
如果想利用gdb工具来调试程序,在编译程序时要正世销使用-g选项。如:
debian:~/c# g -g serial.c -o serial
调试serial程序。
debian:~/c# gdb serial
1.首先让android手机来监听指定的端口:
这一步需要使用shell,因此手机上要有终端模拟器,不过网上很多,随便找个就行了,依次敲入下列几行:
su获取root权限
setprop service.adb.tcp.port 5555设置监听的端口,端口可以自定义,如5554,5555是默认的
s adbd关闭adbd
start adbd重新启动adbd2.
手机连接wifi并确保手机和电脑连接同一个网络
,记下手机的ip地址,假设为a.b.c.d
3.电脑上打开命令提示符,敲入以下命令:
利用adb来连接手机, 有两种方式: 1, wifi, 2, u *** .
前提条件: 下载adb, 最好把对应的文件置于cmd.exe同目录下。
1. 通过wifi, 利用adb来连接手机。
在pc的cmd中输入命令:
adb connect 192.168.1.100
其中adb就是手机的ip. 如果连接成功, 就可以进入android的shell了。
2. 通过u *** , 利用adb来连接手机。
我把手机通过u *** 接上pc, 结果adb并没有连接上手机, 于是下载了android驱动程序, 安装了, 就好了。这样, adb就连接上了手机, 开心啊。于是就可以利用adb shell进入手机的android系统了
首先安装手机驱动,然后下载adb工具箱 命令提示符进入目录 adb shell
F. 如何配置android的adb环境变量
首先下载好adb文件,放到某个目录下
右击计算机——属性