导航:首页 > 程序命令 > adb命令退出

adb命令退出

发布时间:2023-03-10 06:00:36

Ⅰ ADB常用命令大全

安卓调试桥(android Debug Bridge),是Android SDK中的一个调试工具, 使用adb可以直接操作管理Android模拟器或Andriod真机设备,在开发测试过程中,起到调试的作用。

adb.exe的存放路径:Android-SDKplatform-tools

adb help //查看帮助

adb version //查看adb版本号

adb devices //查看设备

adb connect IP:port //连接设备

adb disconnect //断开连接的所有设备

adb disconnect IP:port //断开连接指定设备

adb root //获取root权限

adb remount //重新挂载文件系统(默认只读,执行命令后可写)

adb install Package //安装APK

adb install -r Package //强制覆盖安装

adb install -t Package //允许降级覆盖安装

adb install -d Package //允许测试包

adb uninstall PackageName //卸载APK

adb uninstall -k (keep) PackageName //保留用户数据卸载

adb pull //将设备文件文件发送到PC

adb push //将PC文件发送到设备

adb logcat -c //清空日志

adb logcat -v threadtime >D:111.log //抓日志并输出保存D:111.log

adb shell screencap /sdcard/screen.png //屏幕截图(并存放sdcard目录,命名screen.png)

adb shell screenrecord /sdcard/demo.mp4 //录制屏幕(Android4.4以上可用)

adb shell mpsys activity activities //查看activity信息

adb shell mpsys activity |findstr mResumedActivity //获取当前activity信息

adb shell mpsys window windows | findstr “Current” //查看当前app窗口activity

adb shell //进入设备内部

cd //切换目录

pwd //查看当前路径

ping //查看网络连接

rm* //删除目录下的所有文件

cp -r /path/filename /NewPath //拷贝文件

busybox find / -name FileName //查找文件

tcpmp -i any -p -s 0 -w /data/data/1111.pcap //抓取网络包

pm uninstall PackageName //卸载APK

pm path PackageName //查看APK存放位置

pm clear PackageName //清除APK缓存

mpsys package om.android.xxx //查看APK的具体信息

mpsys package om.android.xxx | grep version //查看APK版本

mpsys package com.tencent.mm | findstr versionName //查看APK版本

am start PackageName //拉起APK

am start -n com.android.xxx/.WelcomeActivity //直接拉起APK的指定WelcomeActivity

am start -a android.intent.action.VIEW -d http://www..com //拉起网络

am start -n om.android.xxx/.WelcomeActivity --es actionUrl "http://sns.is.xxxxx.com/CCTV/index.html?action=detail&object=5005153" //指定Activity上拉起H5

am force-stop + 报名 //杀死进程

kill `ps |grep -E "icntv|istv" | busybox awk '{print $2}'` //杀进程

md5 com.android.xxx //查看已安装应用MD5

busybox vi hispreinstall.sh //编辑文件(命令行)

chmod 777 /system/bin/hispreinstall.sh //修改权限

cat /system/build.prop | grep "proct" //查看设备信息

exit //退出shell交互模式

adb shell getprop ro.build.version.release //查看Android系统版本

adb get-serialno //获取手机序列号

adb shell mpsys package //列出所有安装应用的信息

adb shell pm list packages //查看设备中的所有应用的包名

adb shell cat/proc/cpuinfo //获取CPU型号等信息(HardWare后面是CPU型号)

adb shell "ps | grep packageName" //查指定程序pid

adb shell getprop //查看手机信息

adb shell getprop ro.serialno //查看手机序列号

adb shell cat /proc/cpuinfo //查看手机CPU信息

adb shell cat /proc/meminfo //查看手机内存信息

adb reboot recovery //重启手机到recovery刷机模式

adb reboot bootloader //重启手机到bootloader界面

adb shell mpsys battery //获取电池信息

adb shell mpsys battery set status 1 //设置手机进入非充电状态,为2设置充电状态

adb shell mpsys battery set level 100 //设置电量百分比

adb shell mpsys batterystats //获取整个设备的电量消耗信息

adb shell mpsys batterystats | more //综合电量消耗

adb shell mpsys batterystats com.android.xxx //获取某个apk的电量消耗信息

adb shell mpsys batterystats packageName | more //获取指定程序电量消耗信息

adb shell cat /proc/uid_stat/$PID/tcp_snd //发送的数据流量

adb shell cat /proc/uid_stat/$PID/tcp_rcv //接收的数据流量

procrank //查看内存

adb shell top | findstr com.android.xxx //查看指定APK内存

top -n 3 |grep -E "com.android.xxx|android.yyy" //查看内存

adb shell mpsys cpuinfo |findstr com.android.xxx //查看指定APK CPU

mpsys cpuinfo |grep -E "com.android.xxx|android.yyy" //查看CPU

adb shell settings put global http_proxy ip(PC):port(默认8888) //设置代理

adb shell settings get global http_proxy //查看代理

adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db //进入sqlite

delete from global where name in('global_http_proxy_host','global_http_proxy_port','http_proxy'); //移除代理

adb shell stop //关闭设备

adb shell start //开启设备

adb start-server //启动adb服务

adb kill-server //关闭adb服务

adb reboot //重启手机

adb shutdown //关闭手机

1、首次使用USB线连接Android手机,然后打开Terminal输入:adb tcpip 端口号(默认5555)

2、查看手机IP地址:设置->关于手机->状态信息->IP地址

3、通过adb连接ip地址:adb connect IP:port

Ⅱ adb如何使用

首先要配置好adb,也就是要cmd能找到adb,这个你可以网络一下如何配置adb。x0dx0a然后就是adb的命令,如下:x0dx0a要使用adb命令,手机需要打开USB debug。x0dx0a安装软件x0dx0aadb install apk文件名称.apkx0dx0a重新安装该软件x0dx0aadb install -r apk文件名称.apkx0dx0a卸载apk软件x0dx0aadb uninstall apk包名.apkx0dx0a查看手机上的运行日志,此项可以用来查错x0dx0aadb logcatx0dx0a查看手机是否连接,以及连接了几台手机x0dx0aadb devicesx0dx0aA为手机路径,B为电脑路径,意思为:把文件从手机中复制到电脑上x0dx0aadb pull x0dx0aA为手机路径,B为电脑路径,意思为:把文件从电脑复制到手机上x0dx0aadb push x0dx0a进入手机的超级终端Terminal x0dx0aadb shellx0dx0a重新挂载文件系统x0dx0aadb remountx0dx0a重启手机x0dx0aadb rebootx0dx0a重启到Recovery界面x0dx0aadb reboot recoveryx0dx0a重启到bootloader界面x0dx0aadb reboot bootloaderx0dx0a例子:刷官方高版本后重新获取ROOT和降级方法(部份操作)x0dx0a进行adb运行环境x0dx0aadb shellx0dx0a设置超级用户模式x0dx0asux0dx0a映射出目录x0dx0amount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /systemx0dx0a退出sux0dx0aexitx0dx0a退出shell准备接受下一个adb命令x0dx0aexitx0dx0a增加flash_image文件到手机上x0dx0aadb push flash_image.zip /system/bin/flash_imagex0dx0arecovery先复制到卡上x0dx0aadb push recovery-RA-heroc-v1.6.2.img /sdcardx0dx0a再次进入adb环境x0dx0aadb shellx0dx0a修改文件属性x0dx0achmod 0755 /system/bin/flash_imagex0dx0a重启系统x0dx0arebootx0dx0ax0dx0a采纳我吧

Ⅲ 使用adb查看别人家APP的数据

1.说明
2.使用adb命令获取指定应用的包名和Activity名称
3.使用adb命令启动/关闭APP
4.使用adb命令把手机中的apk导到电脑上
5.查看apk中的AndroidManifest.xml文件
6.使用adb命令进行数据备份
7.查看数据
8.结语

查看其它APP数据的前提是该APP默认开启数据备份,也就是allowBackup属性。
想问一下大家在平时的开发中对应用的安全性有很在意么?有可能大家会想到
加密、混淆、apk加固,但还有一些其他细节的东西需要大家去了解。今天就介绍一下android:allowBackup属性。这个属性在开发的过程中通常是默认开启的,Google起初是为了防止数据丢失,留下了这个功能,但是这个属性也容易造成一些隐私数据的泄露。如果你想关闭可以把它设置为false。那么这个属性在哪里设置呢,就在AndroidManifest.xml文件中的application标签中。

要备份APP的数据,首先我们要知道这个APP的包名才可以进行备份。

在手机或模拟器上面运行APP,然后输入命令: adb shell mpsys activity top #
这时会输出很多东西,你可以用查找功能Ctrl+F,找到TASK,下图红框中就是要找的包名

命令: adb logcat| findstr START
然后在手机或模拟器上点击你想要获取的应用,这时就会在cmd中出现相应的包名和类名了。

启动APP的命令: adb shell am start -W -n package/activity

命令窗口通过adb shell 进入android 的linux命令界面,输入am help看到如下信息:

它会展示出在不同场景下(比如start-activity、start-service等)不同参数代表的意义一些参数的意义,情况太多了这里就不细说了。

回到正题,后面的package和activity就是上面获取包名第二种方法中提到的cmp,比如我们要启动谷歌地图: adb shell am start -W -n com.google.android.apps.maps/com.google.android.maps.MapsActivity

在这里我们再做一个延伸, 用命令做APP的冷启动和热启动操作,然后记录启动的时间
我们看到上图中有三个数字ThisTime、TotalTime和WaitTime,这三个数字就是本次启动APP所花费的时间。
热启动时退出退出APP的命令: adb shell input keyevent 3 ,这就相当于按了手机的home键,然后我们再执行启动APP的命令,这样就完成了热启动。

我们看到热启动花费的时间比冷启动少了很多,一套冷、热启动的流程我们就走完了。接下来就看我们怎么去优化了,让它们变的更少。所以我们在平时做启动优化的时候可以把自己的APP和一些优秀的APP做一下对比看看还差多少。

上面已经说过了一种退出APP的方法了,接下来这个命令是相当于杀掉当前的APP进程。
命令: adb shell am force-stop package
这时候再使用启动命令,就相当于冷启动了。

有的时候我们在手机上查看和操作apk不是特别方便,而且通过文件管理找apk也很难找。接下来就介绍怎么用adb命令把手机中的apk导到电脑上。

通过包名获取apk在手机中的存储路径,命令 adb shell pm path package

导出apk文件,到当前目录下
命令: adb pull 路径

这一步就要看一下apk中有哪些东西了,主要还是看一下AndroidManifest.xml文件当中的allowBackup设置。
我平常用的方法就是吧apk文件的后缀该成zip,然后就可以看到里面的东西了。下面的是谷歌地图的apk的构成。

下面来看一下AndroidManifest.xml文件,会看到都是乱码,但是关键的信息还是可以获取的,我们目前想要的就是下图红框中的allowBackup属性,像谷歌的APP肯定是把它设置成false的,所以我们没办法备份它的信息的。

那么我们怎么看一个应用的allowBackup属性设置成true还是false呢,我的观察和实践出来的方法是看allowBackup后面有没有小方框,有就代表设置了true。如果有哪位大神知道好的可靠的方法还请留言告知。

下面是其他apk中的AndroidManifest.xml文件,后面带了个小方框。

在了解到APP可以备份之后,我们就可以开始做坏事了,哈哈。
备份的命令: adb backup -nosystem -all -noapk -noshared -f data.ab package

[-system | -nosystem] 是否备份系统
[-apk | -noapk] 是否备份apk安装文件
[-shared | -noshared] 是否备份手机存储空间
-f *.ab 存档格式一定要是.ab
package:包名

在运行命令之后,手机或模拟器会出现一个页面要求你输入备份密码,这个密码你可以随便输入,但你要记住,在后面查看ab文件的时候会用到。

输入密码,点击【备份我的数据】之后就开始备份了,备份完成之后会有提示,这时就是生产一个ab文件了。

ab文件大家很少接触,这里使用abe工具(链接: https://pan..com/s/1NPbhtF1fyJcHOm1CXwi9Dg


提取码:uns4 )解析ab文件 ,也是通过命令,把abe.jar和刚才生成的ab文件放到同一个文件夹中,然后运行命令: java -jar abe.jar unpack xxx.ab xxx.rar
(如果不想使用命令可以看看这篇文章 https://www.feifeiboke.com/android/3639.html

这个命令就是吧ab文件解析成rar文件,这样就能解压了,我们就能看到里面的东西。解压出来大概就是下面这个样子。其中比较重要的是db文件夹和sp文件夹,里面的数据我就不放了,容易引起不必要的误会。你可以自己动手试试。

写这篇文章还是提醒大家在平时的开发中要注重APP数据的安全问题,毕竟数据还是相当重要的。
如果有哪里写的不对的地方,请指出,我会及时改正。

Ⅳ 常用的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

Ⅳ 常见的adb 和 mankey 命令

一、常用adb命令

1、adb devices:查看已连接的设备

2、adb version:查看adb的版本序列号

3、adb -s <设备名字>:指定某设备做什么(设备名字用1的方法可以查看)

4、adb install <安装包.apk>:安装应用(写清楚apk的完整路径)adb -s <设备名字> install <安装包.apk>:指定设备安装应用

5、adb shell:通过远程shell命令来控制模拟器/设备

6、exit:退出shell远程连接,回到原路径。(Ctrl+d,退出shell,回到默认路径)

7、adb pull <设备端路径> <pc端路径>:将指定的文件从设备/模拟器上拷贝到pc端(后面的pc端路径可以不指定,默认存储在当前路径下)。例: adb pull /sdcard/log.txt c:/monkey

8、adb push <pc端路径> <设备端路径>:将指定的文件从pc端拷贝到设备/模拟器上

9、adb shell pm list packages:列出电脑端所有apk的包名

10、adb logcat:查看pc端的日志输出。adb shell界面只需输入logcat,查看设备端日志输出(退出Ctrl+c)

二、Monkey命令扩展

1、最简单的monkey执行语句:(adb shell)monkey –p com.jianjiexuan.na –v 500 (对com.jianjiexuan.na 这个程序包单独进行一次500次的monkey测试)

名词解释:-p:用于约束限制,用此参数指定一个或多个包。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。指定多个包:monkey -p –p -p -v 500-v:用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:

日志级别 Level 0

例 monkey –p com.jianjiexuan.na –v 500说明:缺省值,仅提供启动提示、测试完成和最终结果等少量信息

日志级别 Level 1

例 monkey –p com.jianjiexuan.na –v -v 500说明:提供较为详细的日志,包括每个发送到Activity的事件信息

日志级别 Level 2

例 monkey –p com.jianjiexuan.na –v -v -v 500

说明:最详细的日志,包括了测试中选中/未选中的Activity信息

2、延时及固定序列(adb shell)monkey -s 100 -p com.jianjiexuan.na – -throttle 1000 -v 500 (每次执行一次有效的事件后休眠1000毫秒)(adb shell)monkey -p com.jianjiexuan.na – -throttle 1000 – -randomize-throttle -v 500 (每次执行一次有效事件后随机延时0-200毫秒)名词解释:-s:用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。出现问题下次可以重复同样的系列进行排错。–throttle:固定延时,用于指定用户操作(即事件)间的时延,单位是毫秒;–randomize-throttle:随机延时,用于指定用户操作(即事件)间的时延,单位是毫秒。

3、保存monkey运行结果1)保存在PC中adb shell monkey –p com.jianjiexuan.na –v 500 > d:\monkey\log.txt 2)保存在手机中手机端进入shell模式:adb shell monkey –p com.jianjiexuan.na –v 500 > /mnt/sdcard/monkey/log.txt

Ⅵ 超实用的adb与adb shell常用命令汇总

adb(Android Debug Bridge),SDK自带的工具,可实现桥接功能,实现PC和android设备的交互

adb shell:基于Android linux系统操作,放在安卓设备的system/bin目录下,手机端的命令

一:adb常用命令

1. PC连接android设备

(PC与android设备连接同一个wifi,或处于同一个局域网)

连接:adb connect ip:5555

断开连接:adb disconnect ip

查看连接设备的信息:adb devices

获取设备的状态:adb get-state

2. 重启adb server

打开adb服务:adb start-service

关闭adb服务:adb kill-service

3. 安装卸载软件

安装:adb install apkpath(某个apk)

adb install -r :强制安装

卸载: adb uninstall package(可用adb shell pm list packages查看包名)

4. 打印日志

打印android系统日志:adb logcat

将日志打印并保存指定文件夹:adb logcat > /Users/apple/Desktop/log.txt

终止进程:control+C

打印mpsys,mpstate,logcat的输出,用于分析错误:adb bugreport

5. PC与android设备上文件复制

android设备上文件复制到PC上:adb pull

PC上文件推至android设备:adb push 

6.重新挂载system分区为可写,需要root权限./system分区默认挂载为只读,但有些操作比如给android系统添加命令,删除自带应用等需对系统进行写操作,得重新挂载为可写

adb shell

su

或:adb root

adb remount 重新挂载文件系统,获得可写的权限(默认情况是只有可读权限的),使用adb remount 的前提是要有root权限

7. 删除系统应用

adb root

adb remount

adb shell

cd system/app

rm *apk

二:adb shell命令

adb shell 进入系统子目录,exit 退出

1. pm命令

列出系统应用的所有包名:adb shell pm list packages 可用grep来过滤:adb shell pm list packages | grep 关键字

清除应用数据与缓存:adb shell pm clear <packagename>

2. am命令

启动应用:adb shell am start -n com.xxx.xxxxxxx|xxx.Activity(可通过adb shell mpsys activity activities | grep mFocusedActivity查看

强制停止应用:adb shell am force-stop <packagename>

3. input命令

模拟点击事件,点击坐标点(x,y):adb shell input tap x y

模拟滑动事件,从(x1,y1)到(x2,y2):adb shell input swipe x1 y1 x2 y2

发送文本内容:adb shell input text

模拟按下home:adb shell input keyevent KRYCODE_HOME

4. screencap命令

截屏:adb shell screencap

5. 查看网络状态命令

查看当前网络状态:adb shell netstat

通过配置文件配置和管理网络连接:adb shell netcfg

查看网络信息:ifconfig

测试网络联网状态:ping

5.其它相关命令

查看当前终端中进程:adb shell ps

获取cpu信息:adb shell cat /proc/cpuinfo

查看内存信息:adb shell cat /proc/meminfo

查看屏幕分辨率:adb shell wm size

查看设备ip地址:adb shell ifconfig | grep Mask

查看实时资源占用情况:adb shell top

Ⅶ ADB命令对手机进行操作

连接设备后 adb shell 进入设备检查是否有root(&表示没root,#表示已经root)

没root执行如下

exit

adb root

adb remount

执行这一步后仍旧不能对system进行读写。

再exit退出了执行下面命令

adb disable-verity

adb reboot     -手机重启

开机后执行adb root          ----不用进入设备

adb remount

adb shell

cd 到你要修改文件的地方试试如:应用apk安装在/system/priv-app/目录下

rm –rf *   删除当前文件夹所有文件 ---(慎重)

删除掉文件后exit退出来,上传文件命令如下

adb push 需要上传的文件+空格+上传的地方目录

其他操作:Read-only file system

adb logcat -v time | findstr START  --查看包名

rm XXXXX      ---删除文件 (带中文的文件需要输入前面的字符然后按Tab 自动联想出文件名后去删除,联想会自动转译字符)

Ⅷ 手机adb命令怎么使用

adb连接手机

【主要方式】

主要是通过adb命令进行链接手机或者查看手机连接的状态。

【原理】

通过指令或者查看连接状态确定是否开启手机连接状态。

【实现步奏】

通过usb连接电脑,注意一定要把360等手机助手关闭退出,这些软件会占用adb的使用。

然后打开cmd,adb devices 查看手机是否连接电脑。

Ⅸ 干货|做App测试,那些必知必会的Adb常用命令

> 本文节选自霍格沃兹测试学院内部教材

为了让大家更好的学习Adb常用命令,我们先从安装Android环境搭建开始讲解哦。

安装jdk  

###  **  

**

 **  

**

### 因为 Android SDK 是依赖于 java 环境的,所以需要先把 java 的环境搭建好。Java

环境可以参考搭建帖子:https://ceshiren.com/t/topic/4001

安装Android SDK  

###  

###  

### adb 包含在 Android SDK 平台工具软件包中。具体的 Android SDK

环境搭建步骤请参考帖子:https://ceshiren.com/t/topic/4001

adb简介  

adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android

模拟器或真机的工具。

adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作,例如安装和调试应用。

adb组成  

采用了客户端-服务器(C/S)模型,包括三个部分:

  * adb client

  * adb server

  * adb daemon

ADB client:运行在电脑上,可以在命令行中运行 adb 命令来调用该客户端。Client 本质上就是 Shell,用来发送命令给

Server。发送命令时,首先检测 PC 上有没有启动 Server,如果没有 Server,则会自动启动一个,然后将命令发送到 Server。

ADB server:是运行在电脑上的后台进程,用于管理客户端与运行在模拟器或真机的守护进程通信。

ADB Daemon:守护进程作为一个后台进程在 Android 设备或模拟器系统中运行。它的作用是连接 adb 服务端,并且为运行在主机上的 adb

客户端提供一些服务。

adb工作原理  

当 adb 客户端启动时,客户端会先检查 adb 服务端是否启动。如果没有,会先启动服务端进程。adb 服务端在启动后,会与 5037 端口绑定,并监听

adb 客户端发出的命令。

然后,服务端会与所有正在运行的 Android 设备建立连接。它通过扫描 5555 到 5585 之间的奇数号端口查找 Android 设备。服务端一旦发现

Android 设备上的 adb 守护进程在运行,便会与相应的端口建立连接。每个 Android 设备都使用一对端口,偶数端口用于控制台连接,奇数端口用于

adb 连接。

例如:服务端与所有 Android 设备建立连接后,就可以使用 adb 命令来访问这些设备了。服务端会管理已经建立的连接,并处理来自 adb 客户端的命令。

启动adb调试  

### Android 真机可以通过 USB 连接到 adb,连接时需要在设备的系统设置中启用 USB 调试(位于开发者选项下),启动 USB

调试后,设备上的 adb 守护进程就会被启动,adb 服务端才可以和设备建立连接。除了用 USB 的方式连接之外,也可以通过 WLAN

的方式连接,这种方式不做赘述。

  1. 模拟器:不需要手动设置 USB 调试开关,默认是打开的

  2. 真机通过 USB 连接

    * 安装 Android 手机驱动

    * 设备启用 USB 调试

adb命令格式  

  * 

    adb [-d|-e|-s <serialNumber>] <command>

  * -d:指定当前唯一通过 USB 连接的 Android 设备为命令目标

  * -e:指定当前唯一运行的模拟器为命令目标

  * -s:指定相应 serialNumber 号的设备/模拟器为命令目标

方括号中的内容是可选的,尖括号内容的是必填的。方括号中参数可以指定设备,关于设备的指定有三个参数可以使用。-d、-e 和 -s,其中使用最多的是 -s

参数,在连接多台设备的时候,一般都是使用 -s 加上设备的序列号这种方式去指定具体设备。

adb 可以同时连接多台设备,但是一次只能对一台设备执行命令。所有连接多台设备的时候,是必须要制定设备,命令才可以执行成功的。

查询设备  

把 Android 设备连接到 adb 服务端后,需要确认设备的连接状态。这时可以使用查询命令进行查询。

 **连接模拟器** (以 mumu 模拟器为例)

  *   * 

    adb connect 127.0.0.1:7555adb devices

  * `adb connect` 命令可以通过 WLAN 的方式连接到模拟器,7555 为 mumu 模拟器的端口

  * `adb devices` 可以查询设备连接的状态

Windows 系统中,连接模拟器需要先执行 connect 命令去连接模拟器,127.0.0.1 是本地的 IP

地址,因为模拟器就是安装在本地的,所以要使用本地的 IP 地址,加上模拟器本身规定的一个端口号。mumu 的端口号是

7555,如果使用的是其他的模拟器的话,需要先去了解它的端口号是什么,然后再去连接。MacOS 系统中连接模拟器不需要先执行 connect 命令,直接执行

`adb devices` 命令即可。

 **连接真机**

 **  

**

真机直接用 USB 连接到电脑,不需要执行 connect 命令。

直接用 `adb devices`命令查看已经连接的设备列表即可。

    feier@ ~ % adb devices  

    List of devices attached  

    emulator-5554    device

直接命令后,如果设备已经成功连接,那么设备列表中就会展示已连接设备的信息。以图中的信息为例:

  * emualotr-5554:设备序列号

  * device:设备连接状态为成功

安装卸载应用  

测试过程中,如果需要安装或者卸载应用,可以直接用 adb 命令来操作。

  * 普通安装:`adb install <apk路径>`

  * 覆盖安装:`adb install -r <apk路径>`

  * 完全卸载:`adb uninstall <包名>`

  * 保留配置文件:`adb uninstall -k <包名> `

设备与电脑传输文件  

adb 命令支持电脑和 Android 设备之间的文件互传。比如我们需要提取 Android 设备中的日志文件到本地,就可以通过 adb 命令的方式来完成。

  * 从电脑上传文件至设备:`adb push <电脑路径> <设备路径>`

  * 从设备复制文件至电脑:`adb pull <设备路径> <电脑路径>`

日志  

打印链接设备的 log 信息

  * 屏幕输出日志:`adb logcat`

  * 通过标签过滤:`adb logcat -s 标签`

  * 显示时间:`adb logcat -v time`

  * 输出所有信息:`adb logcat -v long`

  * 输出日志到文件:`adb logcat -v time > log.txt`

  * 清除旧日志信息:`adb logcat -c`

adb shell命令  

使用 adb shell 命令相当于远程登录了 Android 系统,可以进入 Android 设备的系统内部。进入系统内部既可以执行一些简单的 Linux

命令也支持很多特有的命令。

使用 adb shell 命令有两种方式。

一种是直接在 adb shell 后面跟上命令。

  * 

    adb [-s serial_number] shell <command>

比如:

  *   *   *   *   *   *   *   *   *   *   * 

    feier@ ~ % adb shell .propdevetc...

另一种方式是在设备上启动交互式 shell

  * 

    adb [-s serial_number] shell

进入 shell 之后,再执行对应的命令。

比如我们进入设备内部,可以查看设备内部的目录结构和内容

  *   *   *   *   *   *   *   *   *   *   * 

    feier@ ~ % adb shellroot@x86:/ # .propdev...

要退出交互式 shell,可以按 Ctrl + D 键或输入 exit。

 **Android常用测试命令**  

下面整理出了Android常用的一些测试命令及用法。  

设备截图/录屏  

在测试过程中,如果需要截图或者是录屏,也可以直接使用 adb 命令来完成。

  * 截图:`adb shell screencap <设备路径>`

  * 录屏:`adb shell screenrecord <设备路径>`

调用Activity管理器  

在 adb shell 中,可以使用 Activity 管理器 (am) 工具发出命令以执行各种系统操作,如启动

Activity、强行停止进程、修改设备屏幕属性,等等。

在测试过程中,如果需要启动 app 或者强制关闭 app,可以通过 adb 命令来实现。

  * 启动应用:`adb shell am start -n <包名>/<Activity名>`

  * 强制停止应用:`adb shell am force-stop <包名>`

调用软件包管理器  

在 adb shell 中,可以使用软件包管理器 (pm) 工具发出命令,以对设备上安装的应用软件包执行操作和查询。

如果需要查询设备里都安装了什么应用,就可以使用 adb shell pm list 来查看,还可以加上不同的参数去查看不同类型的应用。而且也可以通过 adb

命令来清除应用相关的数据。

  * 显示设备中安装的所有应用:`adb shell pm list packages`

  * 只显示系统应用:`adb shell pm list packages -s`

  * 只显示第三方应用:`adb shell pm list packages -3`

  * 删除与软件包关联的所有数据:`adb shell pm clear <包名>`

adb shell mpsys  

mpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。可以使用 adb 从命令行调用

mpsys,获取在连接的设备上运行的所有系统服务的诊断输出。

比如在测试中,如果需要通过 adb 命令启动 app,则需要知道 app 的包名和入口的 Activity

名。这个时候,就可以通过下面这条命令获取到这两个信息。

这个场景,需要先把要获取信息的应用启动,让它在前台运行,然后执行命令

`adb shell mpsys activity | grep mFocusedActivity`

  *   *   * 

    feier@ ~ % adb shell mpsys activity | grep mFocusedActivity  mFocusedActivity: ActivityRecord{9dae968 u0 com.xueqiu.android/.common.MainActivity t139}  

下方的日志中就会展示出来当前的包名和 Activity 名称。

  * 包名:`com.xueqiu.android`

  * Activity 名:`.common.MainActivity`

adb shell mpsys  

adb 命令还支持直接获取应用的页面信息。这个页面信息包含了页面中元素的属性,可以方便做自动化测试的时候去定位元素。获取到的页面布局会输出到一个 xml

文件中。

  * 当前窗口的 UI 布局简化信息:`adb shell uiautomator mp --compressed`

  *   * 

    feier@ ~ % adb shell uiautomator mp --compressedUI hierchary mped to: /sdcard/window_mp.xml

不指定输出文件路径时,mp 下来的文件默认存储路径为 `/sdcard/window_mp.xml`

可以通过 adb pull 命令把文件传输到电脑中,然后用 uiautomatorviewer 工具打开查看布局。

  * 指定输出文件路径:`adb shell uiautomator mp file <设备路径>`

adb常用命令就先讲到这里啦,下期我们分享App常见bug解析。大家还想看什么内容的文章也可以留言告诉我们哦!

 ** _ 

来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力

QQ交流群:484590337

公众号 TestingStudio

视频资料领取:https://qrcode.testing-studio.com/f?from=jianshu&url=https://ceshiren.com/t/topic/15844

点击查看更多信息

与adb命令退出相关的资料

热点内容
大话西游服务器是什么意思 浏览:773
夸克解压压缩文件 浏览:915
怎么买卖副图源码 浏览:660
广东农信app怎么更改预留手机号码 浏览:777
嵌套页面php 浏览:566
安卓手机怎么调到微信聊天模式 浏览:857
java博客开源系统 浏览:719
男人之间的加密对话日语 浏览:359
怎么连远程连接服务器 浏览:11
安卓二手手机该如何检测 浏览:213
微信可以共享图片文件夹吗 浏览:80
联通wifi加密码 浏览:643
录屏文件夹小米 浏览:548
车上的app怎么重设 浏览:24
指定文件夹属性 浏览:131
linuxphp编程 浏览:337
以下不正确的是云服务器 浏览:909
琉璃神社压缩密码 浏览:715
大一学生解压视频 浏览:376
单位电脑e盘加密输入正确密码 浏览:873
© Arrange www.craffts.com 2012-2022
温馨提示:资料来源于互联网,仅供参考