
安卓调试桥(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命令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)