概念扫盲
ADB
ADB(Android Debug Bridge)是 Android 开发工具包(SDK)中的一个工具,它提供了与 Android 设备通信的桥梁,可以在计算机和 Android 设备之间建立连接,并以命令行的方式执行一些操作,例如安装应用程序、发送文本消息、复制文件等。在使用 adb 前,需要确保已经将 Android SDK 安装在计算机上。
Anoconda
Anaconda 是一个 Python 的发行版,它包含了 Python 解释器、一堆常用的 Python 库以及一个可视化的集成开发环境(IDE)。Anaconda 中包含的 Python 库包括了科学计算、数据分析、机器学习等领域常用的各种库,如NumPy、Pandas、Matplotlib、SciPy、Scikit-learn 等等,这些库的版本和依赖都已经被管理好了,用户可以非常方便地进行安装、更新、切换等操作。除此之外,Anaconda 还提供了 conda 这一包管理工具,通过它,用户可以非常方便地管理安装在自己电脑上的 Python 包,这也是 Anaconda 相较于 Python 官方发行版的一大优势。总之,Anaconda 是一个非常强大、易于使用的 Python 发行版,适用于科学计算、数据分析、机器学习等领域的从业者和爱好者。
驱动(软件/环境)安装配置
本次测试使用平台:Windows 11(22H2) + Redmi Note 8(MIUI 12.0.3)。
ADB
下载 ADB 驱动,下面两个地址的 Windows 包都是一样的,第二个日期更新一些。我使用了第二个。
安装 Python。由于之前已经安装过,所以这一步略过。
配置环境变量。将 adb 的安装路径保存到 PATH 变量中,确保
adb
命令可以被识别到。Win + s
搜索【控制面板】→【系统】→【高级系统设置】→【环境变量】- 在【环境变量】窗口找到【系统变量】下的【path】变量→【编辑】→【新建】
- 输入 adb 的安装路径:在资源管理器的地址栏复制该路径,粘贴到【编辑环境变量】窗口。
- 依次点【确定】,关闭所有窗口。
win + R
搜索cmd
,打开命令行窗口,输入 adb,返回Android Debug Bridge version 1.0.31 ……
表示已成功安装 adb。输入adb devices
,返回List of devices attached
,下面显示设备序列号号,表示已连接,否则为空。
Anaconda
考虑到生产环境的规范性,实验与项目之间不受干扰,请尽量使用新的虚拟环境来完成实验。
Windows 开辟新的虚拟环境操作步骤:
下载 Anaconda:Anaconda | The World’s Most Popular Data Science Platform
安装 Anaconda:下图为勾选配置的选项,第一项意思是不推荐勾选,将 Anaconda 添加到 PATH 环境变量中会让计算机上的其他程序(如 Python Tools for Visual Studio、PyCharm、Wing IDE、PyDev 和 MSI 二进制软件包)自动将 Anaconda 检测为系统上的主要 Python 3.9 版本,可能导致一些问题,需要卸载重装 Anaconda 才能解决。第二项的意思是允许其他程序(同上)自动检测 Anaconda 作为系统上的主要 Python 3.9。(安装时我没有细读,全部勾选了)
创建虚拟环境
第一种方式:安装好后,在应用程序中找到 Anaconda 打开,找到【Environment】进行创建。
第二种方式:使用命令行创建虚拟环境,需以管理员身份运行 cmd(
win + s
搜索【命令提示符或 cmd】,右键【以管理员身份运行】(今天测试,不用管理员身份也可以)
1
2
3
4
5
6
7
8
9
10conda info --envs #查看所有虚拟环境
conda create -n wechat_env python=3 #创建名为 wechat_env 的虚拟环境,且使用 Python3
activate wechat_env #Windows 下激活虚拟环境
conda install package_name #安装所需要的包,如 matplotlib 等
#进入虚拟环境会有前置符号表示如下
(wechat_env) 路径名
conda deactivate #退出虚拟环境,之前的 deactivate wechat_env 已经不适用了
conda remove -n wechat_env --all #需要先退出,才能删除虚拟环境完全卸载 Anaconda:【控制面板】→【所有控制面板项】→【程序和功能】→【Anaconda】→右键【卸载】
Android 手机配置
Redmi note 8(MIUI 12.0.3)操作步骤:
- 【设置】→【我的设备】→【全部参数】,找到【MIUI 版本】,连续点击多次,进入【开发者模式】
- 【设置】→【更多设置】→【开发者选项】,打开【USB 调试】、【USB 调试(安全设置)】、USB 设置为 MTP 模式。
- 使用数据线连接电脑与手机。打开
cmd
,执行adb devices
,返回设备 ID 表示成功连接。
ADB 测试
连接手机与电脑,选择 MTP 模式。(MIUI 自动弹出)
运行 cmd。输入
adb devices
。返回设备 ID,测试成功。在 cmd 中分别输入以下命令:
1
2
3
4
5
6adb shell screencap -p /sdcard/test.png #截图
adb pull /sdcard/test.png . #将截图上传到电脑(目录为当前命令行显示的目录)
---
#返回结果显示
1120 KB/s (259599 bytes in 0.226s)在电脑当前所在目录下看到名为 test.png 的截图,测试成功。
打开抖音,输入以下命令:
1
2adb shell input swipe 540 1265 540 965 200
#这个命令在Android设备的屏幕上执行了一个从坐标(540,1265)到坐标(540,965)的滑动手势,耗时200毫秒。抖音切换视频,测试成功。
监听设备输入事件,并输出到命令行窗口:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17adb shell #进入设备的 shell 环境
getevent -l #开始监听。触摸设备屏幕,命令行窗口会输出一些信息,包括触摸事件的坐标(16 进制)
---
#输出结果
dev/input/event2: EV_ABS ABS_MT_TRACKING_ID 00008ea1
/dev/input/event2: EV_ABS ABS_MT_PRESSURE 0000002f
/dev/input/event2: EV_ABS ABS_MT_TOUCH_MAJOR 00000003
/dev/input/event2: EV_ABS ABS_MT_POSITION_X 000003ec
/dev/input/event2: EV_ABS ABS_MT_POSITION_Y 00000533
/dev/input/event2: EV_KEY BTN_TOUCH DOWN
/dev/input/event2: EV_SYN SYN_REPORT 00000000
/dev/input/event2: EV_ABS ABS_MT_PRESSURE 0000002e
/dev/input/event2: EV_SYN SYN_REPORT 00000000
/dev/input/event2: EV_ABS ABS_MT_TRACKING_ID ffffffff
/dev/input/event2: EV_KEY BTN_TOUCH UP
/dev/input/event2: EV_SYN SYN_REPORT 00000000其他命令
1
2
3adb shell wm size #宽度和高度
adb shell wm density #手机屏幕密度
adb shell input tap x y #根据(x, y)坐标点按屏幕
经过测试,在 Redmi Note 8 1080x2340 的屏幕上,抖音 APP 点赞按钮的坐标是(1004, 1331),关注按钮的坐标是(933, 1100)。
参考
- 本文标题:ADB 与 Anaconda 使用
- 创建时间:2023-03-12 09:36:22
- 本文链接:2023/03/12/036-ADB-与-Anaconda-使用/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!