Android Studio 应用运行到真机设备

虽然使用 Android 虚拟设备(AVD)可以完成大部分应用测试工作,但真实环境下的应用测试仍需依赖物理 Android 设备 ------ 并且没有任何替代方案能完全模拟物理设备的实际表现,而且部分 Android 功能仅在物理设备上可用。

Android 调试桥(ADB)负责处理与 AVD 实例及已连接物理 Android 设备的通信。本章将介绍如何在 macOS、Windows 和 Linux 系统中配置 ADB 环境,以实现物理 Android 设备上的应用测试。

Android 调试桥(ADB)概述

ADB 的主要作用是开发环境(此处指 Android Studio)与 AVD 模拟器、Android 设备之间的交互,以便运行和调试应用。

ADB 由三部分组成:客户端、在开发系统后台运行的服务器进程,以及在 AVD 或真实 Android 设备(如手机、平板)中运行的后台守护进程。

ADB 客户端有多种形式。例如,Android SDK 的platform-tools子目录中提供了一个名为 adb 的命令行工具客户端;同样,Android Studio 也内置了客户端。

使用 adb 命令行工具可以执行多种任务。例如,通过devices命令参数可列出当前活跃的虚拟设备或物理设备。以下命令输出表明系统中存在一个 AVD,但没有物理设备:

shell 复制代码
$ adb devices 
List of devices attached 
emulator-5554 device

在 Android 设备上启用 USB 调试

要让 ADB 成功连接 Android 设备,需先对设备进行配置以允许该连接。

对于运行 Android 6.0 及更高版本的手机或平板设备,配置步骤如下:

  • 打开设备上的 "设置",选择 "关于平板" 或 "关于手机" 选项(在部分 Android 版本中,该选项位于 "设置" 中的 "系统" 界面中)。
  • 在关于手机界面向下找到 "版本号(鸿蒙手机为软件版本)" ,连续点击该字段 7 次,直至出现 "您已处于开发者模式!" 的提示。
  • 若关于界面中未列出 "版本号",可尝试通过 "软件信息" 选项查找;或者,若有 "高级" 选项,展开该部分查看。
  • 返回设置界面,会看到"开发人员选项" 的菜单(在较新版本的 Android 或鸿蒙系统中,该选项位于 "系统和更新" 界面中)。
  • 选择该选项,在打开的页面中找到 "USB 调试" 选项。

启用 "USB 调试" 选项,出现确认提示时点击 "允许" 按钮。

至此设备已配置完成,可通过 USB 连接开发环境上 ADB 的调试连接。接下来只需配置开发环境使其在设备连接时能够检测到设备即可。这一过程相对简单,但步骤会因开发系统是 Windows、macOS 还是 Linux 而有所不同。

请注意,以下步骤假设 Android SDK 的platform-tools目录已添加到操作系统的 PATH 环境变量中。

macOS 系统的 ADB 配置

要在 macOS 系统中配置 ADB 环境,需按以下步骤操作:用 USB 数据线将设备连接到电脑,打开终端窗口,执行以下命令重启 ADB 服务器。

bash 复制代码
$ adb kill-server 
$ adb start-server 
* daemon not running. starting it now on port 5037 * 
* daemon started successfully * 

服务器成功启动后,执行以下命令验证设备是否被检测到。

bash 复制代码
$ adb devices 
List of devices attached 
74CE000600000001 offline 

如果设备显示为 "offline(离线)",请在设备上查看是否出现下图所示 "允许 USB 调试" 对话框。勾选 "始终允许从此计算机调试" 选项后点击确定。

再次执行 adb devices 命令,设备应显示为可用状态:

bash 复制代码
List of devices attached 
015d41d4454bf80c device 

如果设备未被列出,可尝试注销并重新登录 macOS 桌面;若问题仍存在,建议重启系统。

Windows 系统的 ADB 配置

要在基于 Windows 的开发环境中配置 ADB 以连接 Android 设备,第一步是在系统上安装合适的 USB 驱动程序。需安装的 USB 驱动程序取决于 Android 设备的型号。

如果使用的是 Pixel 手机等谷歌设备,需在 Windows 系统上安装并配置 Google USB 驱动程序包。

参考地址:https://developer.android.com/sdk/win-usb.html

对于不支持 Google USB 驱动的 Android 设备,则需下载设备制造商提供的驱动程序。

驱动程序列表及下载安装说明可通过以下网址获取:https://developer.android.com/tools/extras/oem-usb.html

安装驱动程序后,若设备已被正确识别,打开命令提示符窗口并执行以下命令:

bash 复制代码
adb devices 

该命令应输出类似以下的已连接设备信息:

bash 复制代码
List of devices attached 
HT4CTJT01906 offline 

如果设备显示为 "offline(离线)" 或 "unauthorized(未授权)",请查看设备屏幕,确认是否出现 "允许 USB 调试" 对话框。勾选始终允许从此计算机调试" 选项并点击 "确定"。再次执行 adb devices 命令,设备应显示为就绪状态:

bash 复制代码
List of devices attached 
HT4CTJT01906 device 

若设备未被列出,执行以下命令重启 ADB 服务器:

bash 复制代码
adb kill-server 
adb start-server 

如果设备仍未被列出,可尝试执行以下命令,请注意,此时可能需要重启系统。

bash 复制代码
android update adb 

Linux 系统的 ADB 配置

本章将以 Ubuntu Linux 为例,介绍如何在 Linux 系统中配置 ADB,以连接物理 Android 设备进行应用测试。

在 Ubuntu Linux 上进行物理设备测试,需要安装 android-tools-adb 包,而安装该包要求 Android Studio 用户属于 plugdev 用户组。大多数 Ubuntu 版本的用户账户默认已属于该组,可通过运行 id 命令验证。若未列出 plugdev 组,需执行以下命令将账户添加到该组:

bash 复制代码
sudo usermod -aG plugdev $LOGNAME 

满足组权限要求后,执行以下命令安装 android-tools-adb 包:

bash 复制代码
sudo apt-get install android-tools-adb 

完成上述操作后,重启 Ubuntu 系统。系统重启后,打开终端窗口,启动 ADB 服务器并检查已连接的设备列表:

bash 复制代码
$ adb start-server 
* daemon not running. starting it now on port 5037 * 
* daemon started successfully * 
$ adb devices 
List of devices attached 
015d41d4454bf80c offline 

如果设备显示为 "offline(离线)" 或 "unauthorized(未授权)",请在 Android 设备上查看是否出现 "允许 USB 调试" 对话框。勾选 "始终允许从此计算机调试" 选项,然后点击 "确定"。

解决 USB 连接问题

如果按照上述步骤仍无法成功连接设备,可打开运行目标菜单,选择 "Troubleshoot Device Connections(排查设备连接问题)" 选项。

此选项会扫描设备并报告问题及可能的解决方案。

无线调试

开启无线调试需要确保电脑和手机在同一网络下,并按照以下步骤进行设置

  • 确保设备在同一网络下:确保你的电脑和鸿蒙手机连接到同一个 WLAN 网络
  • 打开开发者选项,启用无线调试。

接下来,点击上述 "无线调试" 选项,会显示下图所示的界面。

如果设备配备摄像头,选择 "通过二维码配对设备";或选择 "通过配对码配对设备"。根据你的选择,设备会启动摄像头扫码模式,或显示一组配对码(如下图所示):

选择好设备上的配对方式后,返回 Android Studio,从运行目标菜单中选择 "Pair Devices Using Wi-Fi(通过 WiFi 配对设备)" 选项。

在弹出的配对对话框中,根据之前设置中选择的方式,对应选择 "通过二维码配对" 或 "通过配对码配对":

可通过以下方式完成配对过程:使用 Android 设备扫描二维码,或在 Android Studio 的对话框中输入设备屏幕上显示的配对码。

若配对失败,可尝试重启开发环境和 Android 设备后再次尝试。

测试 ADB 连接

假设你已在所选的开发平台上成功配置好 ADB,下一步是尝试在设备上运行《Compose 项目概述》一章中创建的测试应用。

启动 Android Studio,打开 ComposeDemo 项目,确认设备已出现在设备选择菜单中:

从列表中选择该设备,点击运行按钮,即可在设备上安装并运行应用。

设备镜像

设备镜像功能允许你在物理设备上运行应用的同时,在 Android Studio 的 "运行设备" 工具窗口中查看设备屏幕。也就是说,尽管应用实际运行在物理设备上,但其显示效果会像 AVD 模拟器一样呈现在 Android Studio 中。

当设备已连接到 Android Studio 时,打开 "运行设备" 工具窗口,点击 "设备镜像设置" 链接以打开设置对话框。在设置对话框中,启用 "物理 Android 设备镜像" 选项并点击 "确定"。返回主窗口后,Android Studio 会在 "运行设备" 工具窗口中同步显示物理设备的屏幕内容。

小结

虽然 Android 虚拟设备(AVD)模拟器提供了出色的测试环境,但必须记住:确保应用在物理 Android 设备上正常运行,没有任何替代方案能完全做到这一点。

不过,默认情况下,Android Studio 环境并未配置为检测 Android 设备作为目标测试设备。因此,需要执行一些步骤,才能通过 USB 数据线或 WiFi 网络,从 Android Studio 开发环境直接将应用加载到 Android 设备上,具体步骤因开发平台而异,本章已针对 Linux、macOS 和 Windows 系统分别介绍了这些配置步骤。

相关推荐
生莫甲鲁浪戴3 小时前
Android Studio新手开发第二十五天
android·ide·android studio
Varpb3 小时前
android studio-设置android模拟器屏幕自动旋转
android·android studio
2501_915106324 小时前
iOS 打包 IPA 全流程详解,签名配置、工具选择与跨平台上传实战指南
android·macos·ios·小程序·uni-app·cocoa·iphone
超低空4 小时前
Android MediaSession深度解析:车载音乐播放器完整案例
android·架构·客户端
QmDeve4 小时前
Android 集成与使用模糊开关按钮视图 (BlurSwitchButtonView)
android·github
00后程序员张4 小时前
iOS 混淆实操指南多工具组合实现 IPA 混淆、加固与发布治理 IPA 加固
android·ios·小程序·https·uni-app·iphone·webview
xiaoshiquan12065 小时前
as强制过滤指定依赖版本库,解决该依赖不同版本冲突
android
2501_929157687 小时前
Switch 20.5.0系统最新PSP模拟器懒人包
android·游戏·ios·pdf
web守墓人7 小时前
【编辑器】一款IDE(如VSCode等) 如何解析各类文件大纲及跳转对应行
ide·vscode·编辑器