前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android自动化之-ADB与ADB shell常用命令

Android自动化之-ADB与ADB shell常用命令

作者头像
十四君
修改于 2019-11-26 03:25:35
修改于 2019-11-26 03:25:35
6K00
代码可运行
举报
文章被收录于专栏:UrlteamUrlteam
运行总次数:0
代码可运行

针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。

目录:

  1. ADB原理
  2. ADB常用命令
  3. adb shell 命令
  • pm(包管理系列命令)
  • am 系列:控制应用
  • input 系列,向安卓设备发送按键事件
  • screencap截图录像系列
  • uiautomator 获取当前界面的控件信息
  • ime 输入法系列:
  • wm 获取设备分辨率
  • monkey :发送伪随机用户事件流
  • settings 更改系统设置中的参数

4. ADB查看设备信息–完整版

ADB原理:

adb 其实就是 Android Debug Bridge, Android 调试桥的缩写,adb 是一个 C/S 架构的命令行工具,ADB使用端口为 5037 :主要由 3 部分组成

1:运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试

  • Eclipse 中的 ADT、SDK Tools 目录下的 DDMS、Monitor 等工具,都是同样地用到了 adb 的功能来与 Android 设备进行交互。 PC 端的手机助手,诸如 360 手机助手、豌豆荚、应用宝等,其除了安装第三方应用方便,其他的功能,基本上都可以通过 adb 命令去完成,这里建议测试人员尽量不要在电脑上安装这类手机助手,因为其自带的 adb 程序可能会与 Android SDK 下的 adb 程序产生冲突,5037 端口被占用,导致使用 adb 命令时无法连接到设备

2:运行在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接

  • adb 服务启动后,Windows 可以在任务管理器中找到 adb.exe 这个进程

3:运行在 Android 设备上的 adb 后台进程

  • 执行 adb shell ps | grep adbd ,可以找到该后台进程,windows 请使用 findstr 替代 grep
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell ps | grep adbd
root      23227 1     6672   832   ffffffff 00019bb4 S /sbin/adbd

ADB命令:

如果多设备需要单独控选定调试则:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb [-e | -d | -s <设备序列号>] <子命令>

常用的命令:

  • adb devices , 获取设备列表及设备状态
  • adb get-state , 获取设备的状态:device:设备正常连接 offline:连接出现异常,设备无响应 unknown:没有连接设备
  • adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用
  • adb install , 安装应用,覆盖安装是使用 -r 选项,安装中文为名的APK则需要使用另外的其他大牛修改的ADB软件,
  • adb uninstall , 卸载应用,后面跟的参数是应用的包名,请区别于 apk 文件名, -k 选项,卸载时保存数据和缓存目录
  • adb pull , 将 Android 设备上的文件或者文件夹复制到本地如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb pull sdcard/pull.txt d:\
<span class="n">adb</span> <span class="n">pull</span> <span class="n">sdcard</span><span class="o">/</span><span class="n">pull</span><span class="o">.</span><span class="na">txt</span> <span class="nl">d:</span><span class="err">\</span><span class="n">rename</span><span class="o">.</span><span class="na">txt</span>

注意权限,复制系统权限的目录下的文件,需要 root ,并且一般的 Android 机 root 之后并不能使用命令去复制,而需要在手机上使用类似于 RE 的文件浏览器,先对系统的文件系统进行挂载为可读写后,才能在手机上复制移动系统文件

  • adb push , 推送本地文件至 Android 设备
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb push d:\push.txt sdcard/
  • adb reboot , 重启 Android 设备
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bootloader , 重启设备,进入 fastboot 模式,同 adb reboot-bootloader 命令
recovery , 重启设备,进入 recovery 模式,经常刷机的同学比较熟悉这个模式
  • adb forward , 将 宿主机上的某个端口重定向到设备的某个端口
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb forward tcp:1314 tcp :8888

执行该命令后所有发往宿主机 1314 端口的消息、数据都会转发到 Android 设备的 8888 端口上,因此可以通过远程的方式控制 Android 设备。

  • adb connect 远程连接 Android 设备

adb shell 命令

adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下

pm(包管理系列命令)可以用获取到一些安装在 Android 设备上得应用信息

直接运行 adb shell pm 可以获取到该命令的帮助信息

  • pm list package 列出安装在设备上的应用
  • adb shell pm list package(列出全部)
  • adb shell pm list package –s (列出系统应用)
  • adb shell pm list package –3(列出第三方应用)
  • adb shell pm list package –f(列出应用包名及对应的apk名及存放位置)
  • adb shell pm list package –i(命令最后增加 FILTER:过滤关键字,可以很方便地查找自己想要的应用如下)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C:\Users\Administrator>adb shell pm list package -i ali
package:com.aliyun.ams.tyid  installer=null
package:com.alicom.smartdail  installer=com.meizu.mstore
  • pm path 列出对应包名的 .apk 位置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell pm path com.tencent.mobileqq
package:/data/app/com.tencent.mobileqq-1.apk
  • pm list instrumentation  列出含有单元测试 case 的应用,后面可跟参数 -f (与 pm list package 中一样),以及 [TARGET-PACKAGE]
  • pm dump , 后跟包名,列出指定应用的 dump 信息,里面有各种信息,自行查看
  • pm install , 安装Android 设备上APK应用(目标 apk 存放于 PC 端,请用 adb install 安装;目标 apk 存放于 Android 设备上,请用 pm install 安装)
  • pm uninstall , 卸载应用,同 adb uninstall , 后面跟的参数都是应用的包名
  • pm clear , 清除应用数据
  • pm set-install-location , pm get-install-location , 设置应用安装位置,获取应用安装位置
  • 如何通过adb 获取应用的版本号
  • windows: adb shell pm dump com.android.dialer | findstr “versionName” linux: adb shell pm dump com.android.dialer | grep “versionName”

am 系列:控制应用

  • adb shell am start –n com.android.camera/.Camera   启动相机
  • adb shell am start –S com.android.camera/.Camera  先停止目标应用,再启动
  • adb shell am start –W com.android.camera/.Camera  等待应用完成启动
  • adb shell am start –a android.intent.action.VIEW –d http://testerhome.com  启动默认浏览器打开一个网页
  • adb shell am start –a android.intent.action.CALL –d tel:10086  启动拨号器拨打 10086
  • am instrument , 启动一个 instrumentation , 单元测试或者 Robotium 会用到
  • am monitor , 监控 crash 与 ANR
  • am force-stop , 后跟包名,结束应用
  • am startservice , 启动一个服务
  • am broadcast , 发送一个广播
input 系列,向安卓设备发送按键事件
  • adb shell input text test123456  发送文本内容,不能发送中文
  • adb shell input keyevent KEYCODE_HOME  发送按键事件模拟按下 Home 键
  • adb shell input tap 500 500  对屏幕发送一个触摸事件
  • adb shell input swipe 900 500 100 500   对屏幕发送一个滑动事件
screencap截图录像系列:没有sd卡就在自带存储的根目录sdcard
  • adb shell screencap –p /sdcard/screen.png  截屏,保存至 sdcard 目录
  • adb shell screenrecord /sdcard/record.mp4  录制命令,执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard
uiautomator 获取当前界面的控件信息:
  • adb shell uiautomator dump 获取控件信息默认放在 /storage/emulated/legacy/window_dump.xml

ime 输入法系列:

  • adb shell ime list –s  列出设备上的输入法
  • adb shell ime set com.baidu.input_mi/.ImeService   选择输入法
wm 获取设备分辨率
  • adb shell wm size   获取设备分辨率
monkey :发送伪随机用户事件流

它可以向系统发送伪随机(pseudo-random)的用户事件流(如按键输入、触摸屏输入、手势输入等),可以对待测的目标应用或整个 Android 系统进行压力测试。因此 Monkey 测试是一种为了测试软件的稳定性、健壮性的快速有效的方法

  • 完整资料:http://xuxu1988.com/2015/05/14/2015-05-02-Monkey/
settings 更改系统设置中的参数
  • adb shell settings get secure default_input_method  获取系统默认输入法
  • adb shell settings get secure default_input_method  默认为Appium使用中文输入时安装的输入法
  • adb shell settings put secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME   put命令更改默认输入法
  • adb shell settings get system screen_brightness_mode  获取亮度是否为自动获取
  • adb shell settings get system screen_brightness  获取亮度是否为自动获取
  • adb shell settings put system screen_brightness 150  更改亮度值(亮度值在0—255之间)

ADB查看设备信息–完整版

此部分参考:https://www.jianshu.com/p/811741a2ad97

注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。

  • [查看设备信息]
    • [型号]
    • [电池状况]
    • [屏幕分辨率]
    • [屏幕密度]
    • [显示屏参数]
    • [android_id]
    • [IMEI]
    • [Android 系统版本]
    • [IP 地址]
    • [Mac 地址]
    • [CPU 信息]
    • [内存信息]
    • [更多硬件与系统属性]

查看设备信息

型号 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell getprop ro.product.model

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Nexus 5

电池状况

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell dumpsys battery

输入示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Current Battery Service state:
  AC powered: false
  USB powered: true
  Wireless powered: false
  status: 2
  health: 2
  present: true
  level: 44
  scale: 100
  voltage: 3872
  temperature: 280
  technology: Li-poly

其中 scale 代表最大电量,level 代表当前电量。上面的输出表示还剩下 44% 的电量。

屏幕分辨率

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell wm size

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Physical size: 1080x1920

该设备屏幕分辨率为 1080px * 1920px。

如果使用命令修改过,那输出可能是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Physical size: 1080x1920
Override size: 480x1024

表明设备的屏幕分辨率原本是 1080px * 1920px,当前被修改为 480px * 1024px。

屏幕密度

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell wm density

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Physical density: 420

该设备屏幕密度为 420dpi。

如果使用命令修改过,那输出可能是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Physical density: 480
Override density: 160

表明设备的屏幕密度原来是 480dpi,当前被修改为 160dpi。

显示屏参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell dumpsys window displays

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)
  Display: mDisplayId=0
    init=1080x1920 420dpi cur=1080x1920 app=1080x1794 rng=1080x1017-1810x1731
    deferred=false layoutNeeded=false

其中 mDisplayId 为 显示屏编号,init 是初始分辨率和屏幕密度,app 的高度比 init 里的要小,表示屏幕底部有虚拟按键,高度为 1920 – 1794 = 126px 合 42dp。

android_id

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)
  Display: mDisplayId=0
    init=1080x1920 420dpi cur=1080x1920 app=1080x1794 rng=1080x1017-1810x1731
    deferred=false layoutNeeded=false

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
51b6be48bac8c569

IMEI

在 Android 4.4 及以下版本可通过如下命令获取 IMEI:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell dumpsys iphonesubinfo

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Phone Subscriber Info:
  Phone Type = GSM
  Device ID = 860955027785041

其中的 Device ID 就是 IMEI。

而在 Android 5.0 及以上版本里这个命令输出为空,得通过其它方式获取了(需要 root 权限):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell
su
service call iphonesubinfo 1

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Result: Parcel(
  0x00000000: 00000000 0000000f 00360038 00390030 '........8.6.0.9.'
  0x00000010: 00350035 00320030 00370037 00350038 '5.5.0.2.7.7.8.5.'
  0x00000020: 00340030 00000031                   '0.4.1...        ')

把里面的有效内容提取出来就是 IMEI 了,比如这里的是 860955027785041

参考:adb shell dumpsys iphonesubinfo not working since Android 5.0 Lollipop

Android 系统版本

命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell getprop ro.build.version.release

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
5<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.2</span>

IP 地址

每次想知道设备的 IP 地址的时候都得「设置」-「关于手机」-「状态信息」-「IP地址」很烦对不对?通过 adb 可以方便地查看。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell ifconfig | grep Mask

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
inet addr:10.130.245.230  Mask:255.255.255.252
inet addr:127.0.0.1  Mask:255.0.0.0

那么 10.130.245.230 就是设备 IP 地址。

在有的设备上这个命令没有输出,如果设备连着 WiFi,可以使用如下命令来查看局域网 IP:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell ifconfig wlan0

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wlan0: ip 10.129.160.99 mask 255.255.240.0 flags [up broadcast running multicast]

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wlan0     Link encap:UNSPEC
          inet addr:10.129.168.57  Bcast:10.129.175.255  Mask:255.255.240.0
          inet6 addr: fe80::66cc:2eff:fe68:b6b6/64 Scope: Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:496520 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68215 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3000
          RX bytes:116266821 TX bytes:8311736

如果以上命令仍然不能得到期望的信息,那可以试试以下命令(部分系统版本里可用):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell netcfg

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wlan0    UP                               10.129.160.99/20  0x00001043 f8:a9:d0:17:42:4d
lo       UP                                   127.0.0.1/8   0x00000049 00:00:00:00:00:00
p2p0     UP                                     0.0.0.0/0   0x00001003 fa:a9:d0:17:42:4d
sit0     DOWN                                   0.0.0.0/0   0x00000080 00:00:00:00:00:00
rmnet0   DOWN                                   0.0.0.0/0   0x00000000 00:00:00:00:00:00

可以看到网络连接名称、启用状态、IP 地址和 Mac 地址等信息。

Mac 地址

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell cat /sys/class/net/wlan0/address

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
f8:a9:d0:17:42:4d

这查看的是局域网 Mac 地址,移动网络或其它连接的信息可以通过前面的小节「IP 地址」里提到的 adb shell netcfg 命令来查看。

CPU 信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell cat /proc/cpuinfo

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Processor       : ARMv7 Processor rev 0 (v7l)
processor       : 0
BogoMIPS        : 38.40

processor       : 1
BogoMIPS        : 38.40

processor       : 2
BogoMIPS        : 38.40

processor       : 3
BogoMIPS        : 38.40

Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x51
CPU architecture: 7
CPU variant     : 0x2
CPU part        : 0x06f
CPU revision    : 0

Hardware        : Qualcomm MSM 8974 HAMMERHEAD (Flattened Device Tree)
Revision        : 000b
Serial          : 0000000000000000

这是 Nexus 5 的 CPU 信息,我们从输出里可以看到使用的硬件是 Qualcomm MSM 8974,processor 的编号是 0 到 3,所以它是四核的,采用的架构是 ARMv7 Processor rev 0 (v71)

内存信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell cat /proc/meminfo

输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MemTotal:        1027424 kB
MemFree:          486564 kB
Buffers:           15224 kB
Cached:            72464 kB
SwapCached:        24152 kB
...

其中,MemTotal 就是设备的总内存,MemFree 是当前空闲内存。

更多硬件与系统属性

设备的更多硬件与系统属性可以通过如下命令查看:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell cat /system/build.prop

这会输出很多信息,包括前面几个小节提到的「型号」和「Android 系统版本」等。

输出里还包括一些其它有用的信息,它们也可通过 adb shell getprop <属性名> 命令单独查看,列举一部分属性如下:

属性名

含义

ro.build.version.sdk

SDK 版本

ro.build.version.release

Android 系统版本

ro.build.version.security_patch

Android 安全补丁程序级别

ro.product.model

型号

ro.product.brand

品牌

ro.product.name

设备名

ro.product.board

处理器型号

ro.product.cpu.abilist

CPU 支持的 abi 列表[节注一]

persist.sys.isUsbOtgEnabled

是否支持 OTG

dalvik.vm.heapsize

每个应用程序的内存上限

ro.sf.lcd_density

屏幕密度

节注一:

一些小厂定制的 ROM 可能修改过 CPU 支持的 abi 列表的属性名,如果用 ro.product.cpu.abilist 属性名查找不到,可以这样试试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell cat /system/build.prop | grep ro.product.cpu.abi

示例输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi

原创文章,转载请注明: 转载自URl-team

本文链接地址: Android自动化之-ADB与ADB shell常用命令

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-042,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Vue实现文件上传(带进度条和取消上传功能)
这里我只写了单一文件上传的demo,并且只限制了文件大小不能超过5M。如果想限制上传的文件类型,可自行在input标签中进行设置,如果想要实现多个文件一起上传,先要设置input标签属性multiple="multiple",然后利用循环将每一个文件数据存入到formData中,最后作为参数传给服务端进行处理。 因为个人习惯原因,我先对axios进行了封装,创建service.js文件,代码如下:
前端小tips
2021/11/25
2.3K0
Vue实现文件上传(带进度条和取消上传功能)
axios取消请求
在使用Axios发送请求时,有时可能需要取消请求,特别是在用户需要中断请求或离开当前页面时。Axios提供了取消请求的功能,以便有效地管理和处理请求的取消操作。
堕落飞鸟
2023/05/19
2.5K0
axios介绍与使用说明 axios中文文档
本周在做一个使用vuejs的前端项目,访问后端服务使用axios库,这里对照官方文档,简单记录下,也方便大家参考。 Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中。github开源地址https://github.com/axios/axios 特性 在浏览器中创建 XMLHttpRequests 在 node.js 则创建 http 请求 支持 Promise API 支持拦截请求和响应 转换请求和响应数据 取消请求 自动转换 JSON 数据 客户端支持防御
JadePeng
2018/04/16
84.4K0
React 文件上传组件 File Upload
文件上传是现代 Web 应用中不可或缺的功能之一。无论是用户头像、文档附件还是多媒体文件,都需要一个高效且可靠的文件上传组件来处理。React 作为当前最流行的前端框架之一,提供了丰富的工具和库来简化文件上传的实现。本文将从基础开始,逐步深入介绍如何在 React 中实现文件上传组件,并探讨一些常见的问题、易错点及如何避免这些问题。
Jimaks
2024/12/03
5031
React 文件上传组件 File Upload
Vue.js Ajax请求配置项
下面是创建请求时可用的配置选项,注意只有 url 是必需的。如果没有指定 method,请求将默认使用 get 方法。
陈不成i
2021/07/27
3.2K0
Java实例:Vue前端与Java后端实现大文件异步上传下载功能
在我们项目开发中,大文件上传与下载是一项常见的功能需求,特别是在高并发和用户体验要求高的场景下。Vue.js作为一款流行的前端框架,以其响应式的数据绑定和组件化的优势使得前端交互更加流畅;而Java后端凭借其稳定性和高性能,是构建健壮服务端的理想选择。
用户1289394
2024/05/29
1.8K0
Java实例:Vue前端与Java后端实现大文件异步上传下载功能
axios : Promise based HTTP client for the browser and node.jsaxios
Promise based HTTP client for the browser and node.js
一个会写诗的程序员
2018/08/17
9130
Axios基本使用
Axios Axios 是一个基于promise的HTTP库,可以用在浏览器和node.js中。
ZEHAN
2020/10/29
1.9K0
Vue 折腾记 - (10) 给axios做个挺靠谱的封装(报错,鉴权,跳转,拦截,提示)
不推荐完全copy过去,可以看看我是如何针对我这边业务; 做的一个axios的封装及实现的思路
CRPER
2018/08/28
2.6K0
axios2教程
axios 是一个基于 promise 的 HTTP 库,用于浏览器和node.js的http客户端,支持拦截请求和响应,自动转换 JSON 数据, 客户端支持防御 XSRF。axios2官方链接
飞狗
2018/09/10
3.2K0
axios2教程
图片管理:从图片获取到上传与删除的 API 数据交互
今日推荐:Spring AI再更新:如何借助全局参数实现智能数据库操作与个性化待办管理
繁依Fanyi
2024/11/26
3030
React 文件上传组件 File Upload
文件上传是 Web 应用中常见的功能之一,无论是图片、文档还是其他类型的文件,都需要一个可靠的文件上传组件来实现这一功能。React 作为目前最流行的前端框架之一,提供了丰富的生态系统和工具来帮助开发者构建高效的文件上传组件。本文将从浅入深地介绍如何在 React 中实现文件上传组件,包括常见的问题、易错点以及如何避免这些问题。
Jimaks
2024/11/27
3770
JavaScript HTTP客户端库axios介绍
HTTP客户端是很多时候我们都需要用到的功能,今天就来介绍一个比较流行的JavaScript编写的HTTP客户端库axios。 安装 如果你会使用npm的话,可以使用npm来装,非常方便。 $ npm
乐百川
2018/01/09
2.3K0
【收藏干货】axios配置大全
//当实例创建时候修改配置 instance.defaults.headers.common["Authorization"] = AUTH_TOKEN; 3、 配置中的有优先级
super.x
2019/04/12
1.1K0
总结Vue3 的一些知识点:Vue3 Ajax(axios)
Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中。
爱学iOS的小麦子
2023/05/26
1.9K0
Axios是什么?用在什么场景?如何使用?
Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get、post请求。说到get、post,大家应该第一时间想到的就是Jquery吧,毕竟前几年Jquery比较火的时候,大家都在用他。但是由于Vue、React等框架的出现,Jquery也不是那么吃香了。也正是Vue、React等框架的出现,促使了Axios轻量级库的出现,因为Vue等,不需要操作Dom,所以不需要引入Jquery.js了。
Javanx
2019/09/04
5K0
Axios是什么?用在什么场景?如何使用?
JavaScript中如何取消ajax请求
jQuery为我们封装了ajax请求接口,在jQuery中,取消ajax请求也是通过调用.abort()方法,只不过操作的对象不再是原生XHR对象
刘亦枫
2020/03/19
3.3K0
【axios】002-axios发起请求
axios.interceptors.request.use():添加请求拦截器;
訾博ZiBo
2025/01/06
1450
封装 axios 取消重复请求
在我们web开发过程中,很多地方需要我们取消重复的请求。但是哪种场合需要我们取消呢?我们如何取消呢?带着这些问题我们阅读本文。
coder_koala
2021/01/06
1.7K0
axios api
别名请求方法 request( config ) get(url, config) delete(url, config) head(url, config) options(url, config) post(url, data, config) put(url, data, config) patch(url, data, config) 实例方法 request get delete head options post put patch getUri(conf) 请求配置 url '/user/:
copy_left
2020/10/10
1.2K0
推荐阅读
相关推荐
Vue实现文件上传(带进度条和取消上传功能)
更多 >
目录
  • 目录:
  • ADB原理:
  • ADB命令:
  • adb shell 命令
    • pm(包管理系列命令)可以用获取到一些安装在 Android 设备上得应用信息
    • am 系列:控制应用
      • input 系列,向安卓设备发送按键事件
      • screencap截图录像系列:没有sd卡就在自带存储的根目录sdcard
      • uiautomator 获取当前界面的控件信息:
    • ime 输入法系列:
      • wm 获取设备分辨率
      • monkey :发送伪随机用户事件流
      • settings 更改系统设置中的参数
  • ADB查看设备信息–完整版
  • 查看设备信息
    • 型号 :
    • 电池状况
    • 屏幕分辨率
    • 屏幕密度
    • 显示屏参数
    • android_id
    • IMEI
    • Android 系统版本
    • IP 地址
    • Mac 地址
    • CPU 信息
    • 内存信息
    • 更多硬件与系统属性
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档