ADB常用命令大全

ADB常用命令大全,第1张

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

adbexe的存放路径: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:111log //抓日志并输出保存D:111log

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

adb shell screenrecord /sdcard/demomp4 //录制屏幕(Android44以上可用)

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

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

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

adb shell //进入设备内部

cd //切换目录

pwd //查看当前路径

ping //查看网络连接

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

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

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

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

pm uninstall PackageName //卸载APK

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

pm clear PackageName //清除APK缓存

dumpsys package omandroidxxx //查看APK的具体信息

dumpsys package omandroidxxx | grep version //查看APK版本

dumpsys package comtencentmm | findstr versionName //查看APK版本

am start PackageName //拉起APK

am start -n comandroidxxx/WelcomeActivity //直接拉起APK的指定WelcomeActivity

am start -a androidintentactionVIEW -d >

重启:adb reboot

推文件:adb push E:\xxxtxt storage/sdcard

拉文件:adb push storage/sdcard

将日志保存到电脑文件: adb logcat > xxx xxx电脑文本地址

清除指定应用的数据和缓存:adb shell pm clear 例:adb shell pm clear comyzltest

查看日志缓冲区大小:adb shell logcat-g

设置日志缓冲区大小:adb logcat-G10M

打开蓝牙:adb shell svc bluetooth enable

关闭蓝牙:adb shell svc bluetooth disable

查询蓝牙是否打开:adb shell settingsgetglobalbluetooth_on

获取蓝牙Mac地址:adb shell settingsgetsecure bluetooth_address

获取某个包名的安装路径:adb shell pm path comxxxx

查看所有存活的进程:adb shell ps

过滤关键字查看adb shell ps|findstr xxx

强制安装版本号更低的apk:adb install -r -d "C:\xxapk"

对指定应用进行500次模拟触摸事件:adb shell monkey -p comyzltest -v 500

查看某个apk的应用信息、版本信息:adb shell dumpsys package comyzltest

查看已安装应用列表:adb shell pm list package或adb shell pm list packages-s

Android 调试桥 (adb)  ,可与设备进行通信。adb 命令可用于执行各种设备 *** 作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

客户端: 用于发送命令。客户端在开发机器上运行。可以通过发出 adb 命令从命令行终端调用客户端。(可以通过它对Android应用进行安装、卸载、调试)

PC上的手机助手基本都是通过adb命令去完成的。有时候装了这类手机助手的话,它自带的adb程序可能会与Android SDK下的adb程序产生冲突,5037端口被占用,导致adb命令无法连接到设备。Windows下通过netstat -ano|findstr "5037"

守护程序 (adbd): 用于在设备上运行命令。守护程序在每个设备上作为后台进程运行

执行adb shell ps | grep adbd, 可以找到该后台进程,Windows使用findstr替代grep

adb nodaemon server

服务器(Service): 用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行

adb服务启动后,Windows可以在任务管理中找到adbexe; linux ps -ef | gref adb 可以查看service

一般都是通过这样子的格式 adb [-d|-e|-s <设备序列号>] <子命令>

通常只有一台设备就忽略 [-d|-e|-s ] 这一部分

这里介绍一些常用的命令:

获取设备列表及设备状态

获取设备的状态

注意:设备的状态有 3 钟,device , offline , unknown

device:设备正常连接

offline:连接出现异常,设备无响应

unknown:没有连接设备

 结束 adb 服务

 启动 adb 服务

注意:通常两个命令一起用,有时候我们开启server会失败,这是因为我们装了的手机助手,豌豆荚或者其他软件自带有自己的adb,导致端口冲突开启失败。一般在连接出现异常,使用 adb devices 未正常列出设备, 设备状态异常时使用 kill-server,然后运行 start-server 进行重启服务。

打印 Android 的系统日志

 打印 dumpsys、dumpstate、logcat 的输出,也是用于分析错误输出比较多

打印日志后重定向到一个文件中

 安装应用,覆盖安装是使用 -r 选项

注意:有些adb版本无法支持安装中文的apk

查看手机应用包名

查看应用对应的apk文件在手机上的安装位置则可以在上面的命令后加-f参数

卸载应用,后面跟的参数是应用的包名,请区别于 apk 文件名

'-k' means keep the data and cache directories , -k 选项,卸载时保存数据和缓存目录

 将 Android 设备上的文件或者文件夹复制到本地

adb pull /sdcard/testtxt C:\Users\Administrator\Desktop\log

推送本地文件至 Android 设备

获取连接到的手机的序列号

获取设备的连接状态

等待设备连接成功

该命令将会阻塞一直到默认连接的那部机器状态变为device,也就是连接成功。

其实adb shell命令就是调用的是Android设备中的system/bin目录下的命令。

Android的内核本身就是Linux,所以Android本身也支持Linux命令,但是因为是手机系统,所以进行了一定的删减,部分命令不支持,而不支持的部分,我们可以通过安装busybox这个软件进行。

如何在手机中执行Shell命令?

  每次都加上adb shell来进行命令的发送与执行

 先通过adb shell进入手机Shell执行状态,然后直接输入Linux命令。

使一个apk处于禁用状态,相当于卸载了:

其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 comUCMobile/mainUCMobile

eg:adb shell su disable comUCMobile/mainUCMobile

同时我们在手机上发现,UC浏览器的图标不见了

让一个apk从禁用状态恢复过来

其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 comUCMobile/mainUCMobileeg:

adb shell su enable comUCMobile/mainUCMobile

同时我们从手机上发现,UC浏览器的图标又出现了。

查看一个apk所在的路径

adb shell pm path comUCMobile

查看手机中装的所有的包

屏幕开始录像并且储存到/sdcard中,同时名字为demomp4

录屏设置时长10s,命名为demomp4

注意:现在仅支持一部分手机录屏,不支持的手机会出现以下提示

解决方法:

安装了scrcpy之后,只需要输入如下命令,即可录取指定设备的屏幕

scrcpy -s device --render-expired-frames -Nr /demopm4

--render-expired-frames:尽可能最大帧率

-N:不在PC端展示

-r:录制mp4/mkv文件

关闭设备请求,开启设备

设备关机以及重启

pm(package manager)可以获取一些安装到Android设备上的app的信息

pm list packages 用法:list packages [ options] filter

获取所有的应用的包名

列出系统应用

列出第三方应用

查看它们的关联文件

adb shell pm list package -f

查看软件包的安装来源

pm dump 包名 很多dump信息

安装应用

apk如果在电脑用 adb install 

如果在Android设备上用 adb shell pm install

卸载应用,同adb uninstall ,后跟包名

清除应用数据

am(activity manager,字面意思就跟activity有关,大家都知道Android的界面都是由一个个activity显示的)

启动一个Activity

获取到package和launch_activity

AndroidSDK中aapt工具,检索命令结果,可以获取到package和launch_activity

这里涉及到一个点,如何找到程序的入口,首先你要知道是哪个activity才能启动;

启动华为系统相机

打开音乐播放器

播放指定音乐:

先停止目标应用,再启动

等待应用完成启动

启动网页(androidintentactionVIEW具体参考Android官网)

结束应用

input

模拟输入,向获得焦点的EditText控件输入内容

返回主界面

发送一个点击 *** 作的指令,参数是<x> <y>坐标

从左往右滑动屏幕, /从 100 100 经历300毫秒滑动到 200 200

长按 *** 作,在 100 100 位置长按 1000毫秒

ADB是什么 ADB常用命令介绍

adb是windows系统通过usb或者无线连接Android手机的一个接口

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 testtxt /tmp/testtxt

从设备或模拟器上复制一个文件或目录:

adb

pull <source>

<destination></destination></source>

如:adb

pull /addroid/lib/libwebcoreso

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的文件夹

adb reboot edl     开机状态下,使用这个命令,可以重启电脑,进入edl模式,然后进行刷机

windows + r       打开 dos 窗口   

输入   d :     进入   d 盘 

输入   cd D: \ file\file     进入指定的文件路径   (这个路径是  adb shell-ok的文件路径)

adb devices        可以看到连接的设备。

adb logcat  -v  time打开日志  

ctrl +c    暂停日志输出

adb logcat -c   清除日志

adb logcat -v time -b all |findstr fangfang       findstr 前边是一根竖线, fangfang 是logd 的Tag 标签。        本条命令是查询日志

adb logcat -v time -b all >testtxt           将日志打印到   texttxt文件夹

adb shell am start -n comlenovocsdkcustom/MainActivity     启动某个应用的activity

adb install -r app-debugapk             安装APP到连接的设备

rm  文件      删除一个文件

双击一个文件,选中,按滑轮键,可以把相关文件加到输入那个地方。

ctrl +c     暂停日志输出

打开需要调试的应用 ,重现 crash   

在adb 工具里边找到 texttxt 文件  打开   texttxt 文件   查找 调试应用的关键字   ,找到异常的日志,然后进行修改。

工作站里边命令使用

pwd       

cd 

ls

adb root   

cd + 文件路径

adb logcat-c   清除日志

adb + shell   进入Linux命令

然后进入Linux之后 ,可以在dos下进行一些Linux 的一些命令的 *** 作,例如  cd  sdcard 进入  sdcard    ,  ls    查看当前目录下的文件  。       adb   push U-NEXTapk   /sdcard/   将U-NEXT安装到sdcard中。

exit   从Linux  中退出到Dos    

1,打开android studio 找到Terminal 并打开

2,输入命令C  进入c 盘;

3,输入命令  cd Users\Administrator 其中Administrator 文件下有个android 文件,输入命令 cd android ,然后就找到了 android 

4,输入命令keytool -list -v -keystore 文件目录\自己的签名文件  比如我的:keytool -list -v -kyestore E:\签名文件\androidkeystore,接着按回车,然后输入秘钥:        回车   (秘钥库口令是看不到的)

adb shell pm list packages 查看所有包名

adb shell pm path packages  查看包名所属的apk

-----------------------

获取设备和软件版本信息

adb shell getprop 

MAC地址 adb shell  cat /sys/class/net/wlan0/address 

adb shell:

获取ota信息

getprop |grep ota

获取 [robuildversionincremental]

getprop |grep inc

-----------------------

查看apk包名  aapt dump badging APK文件

查看包名信息: adb shell dumpsys package “comxxxxxx”

push 新的jar包

adb push frameworkjar /system/framework/

adb pull /system/priv-app/LenovoOTA/LenovoOTAapk  C:\Users\admin\Desktop

失败提升需要root

adb root

adb remount

再次执行push -> adb push frameworkjar /system/framework/

然后 adb reboot

找到某个apk在系统的哪个路径下(comlenovocsdkplatform 为apk包名)

adb shell pm path comlenovocsdkplatform

启动某个应用的activity:adb shell am start -n comlenovocsdkcustom/MainActivity

恢复出厂设置  adb reboot recovery

adb logcat -s XXX logcat筛选

当前activity名(全路径)  adb shell dumpsys window | findstr mCurrentFocus

adb reboot edl 输入进入线刷模式

fastboot 常用命令

1、adb reboot bootloader 进入fastboot 模式

2、fastboot flashing unlock 解锁unlock状态

3、fastboot flashing lock 锁定状态

4、fastboot erase data 清空data数据

5、fastboot format data 格式化data分区数据

6、fastboot getvar devices-state 得到锁的状态

7、fastboot erase boot 擦除boot分区

8、fastboot flash boot img 烧些img

9、fastboot reboot 重启

-------------------------

adb shell ps 查看自启信息

robuildversionincremental  固件信息名称

----------------------------

adb 启动界面

apps界面:adb shell am start -a androidsettingsAPPLICATION_SETTINGS

位置界面:adb shell am start -a androidsettingsLOCATION_SOURCE_SETTINGS

安全界面:adb shell am start -a androidsettingsSECURITY_SETTINGS

存储界面:adb shell am start -a androidsettingsINTERNAL_STORAGE_SETTINGS

电池界面:adb shell am start -a androidintentactionPOWER_USAGE_SUMMARY

账户界面:adb shell am start -a androidsettingsSYNC_SETTINGS

重置界面:adb shell am start -a androidsettingsBACKUP_AND_RESET_SETTINGS

蓝牙界面:adb shell am start -a androidsettingsBLUETOOTH_SETTINGS

开发者选项界面:adb shell am start -a androidsettingsAPPLICATION_DEVELOPMENT_SETTINGS

语言等选择界面:adb shell am start -a androidintentactionMAIN -c androidintentcategoryVOICE_LAUNCH

联系人:adb shell am start -a  comandroidcontactsactionLIST_DEFAULT

----------------------------------------------------

Monkey 需要通过 adb 来运行,adb 的环境我们在后面给大家更新一下:《APP 测试之 adb》,查看 Monkey,monkey 属于 android 系统自带的:

在 system 的 bin 目录下可以看到 Monkey

在通过 monkey 进行测试前,需要知道待测试 app 的包名,可以通过使用“uiautomatorviewerbat”工具来获取,也可以直接询问提供 app 的开发小哥哥,或者直接使用 adb 命令获取包名。

以下简单介绍两种通过 adb 命令获取包名的方法。

方法一:首先要先运行手机中需要获取包名的 app,然后分别输入命令即可。

或者进入 shell 状态下查看:

如图所示:

方法二:在 sdk 的 build-tools 的版本目录下,运行命令 aapt dump badging 安装的 apk 包名,如:

方法三:查看设备中所有的包,在 cmd 窗口中执行以下命令:

之后输入一些 Monkey 命令,就可以开始测试。

Monkey 命令的参数大致分为三大类:

(1)基本配置参数 –v -s --throttle -p;

(2)发送的事件类型:

(3)调试选项

● 基本参数:

1、-P 参数,指定要测试的包名:

例:

-P 后面接 app 包名, 2000 是要测试的 *** 作的次数(即随机事件数),比如点击数,缩放数等,达到这个次数测试就结束退出 monkey 测试状态。

说明:Monkey 随机启动 APP 并发送 100 个随机事件。

2、-v 参数,指定输出日志的级别,monkey 输出日志有 3 个级别,通过-v 参数来指定:

-v 第一级别; -v -v 第二级别;-v –v –v 第三级别

例:

说明:日志级别 level0:缺省值,仅提供启动提示、测试完成和最终结果等少量信息

说明:日志级别 Level 1,提供提供较为详细的日志,包括每个发送到 Activity 的信息。

说明:日志级别 Level 2,提供更详细的日志,包括了测试中选中/未选中的 Activity 信息。

说明:用 Monkey 测试时,为了方便分析问题,可以在命令 monkey 命令后面加上 |logcat -v time,这样就能边测试边打印 Log 并存到电脑本地,但是以上组合在 monkey 测试完成后,logcat 仍然在执行,测试时需注意手动结束。

3、-throttle 参数,指定用户 *** 作间的时延

说明:throttle 单位是毫秒。

4、-s(随机数种子)

用于指定伪随机数生成器的 seed 值,如果 seed 值相同,则两次 Monkey 测试所产生的时间序列也相同

这个参数对于重测,复现问题比较常用。

以上就是关于ADB常用命令大全全部的内容,包括:ADB常用命令大全、adb构成和工作原理和常用命令、Android常用的ADB命令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9633448.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存