前言
DevEco Studio 的预览器可以提供高效的 UI 实时反馈,但要进行全面的功能测试、性能分析及硬件相关功能调试,仍需在模拟器或真机上运行应用。
模拟器的安装与启动参考往期文章:【HarmonyOS 5开发入门】DevEco Studio安装配置完全指南
使用本地真机运行应用/服务
设备连接
- USB 连接:
通过 USB 线将 Phone 或 Tablet 连接至 PC,在设备的 设置 > 系统 > 开发者选项 中开启 USB 调试。设备上弹出授权对话框时,点击“允许”。
- 无线连接:
开启“无线调试”,通过 IP 地址连接设备:
设备管理
在 DevEco Studio 底部的 Device Manager 中查看已连接设备,确认设备状态、系统版本和连接方式。
应用部署
点击菜单栏 Run > Run '模块名',或使用快捷键:
- Windows/Linux:Shift + F10
- macOS:Control + R
调试技巧
- 断点调试:点击代码行号旁边设置断点
- 日志查看:使用 Logcat 窗口实时查看日志
- 性能监控:内置工具可监控 CPU、内存等性能指标
- 热更新:支持代码变更后无需重新安装即可快速同步至设备
使用模拟器运行应用/服务
系统要求
- 操作系统:Windows 10/11 64位、macOS 10.15+
- CPU:支持 VT-x / AMD-V 虚拟化
- 内存:8GB 起(推荐 16GB)
- 硬盘:至少 10GB 可用空间
前置条件
- 在 BIOS 中启用虚拟化功能
- 安装最新版 DevEco Studio
- 下载并安装所需模拟器系统镜像
模拟器 vs 真机
项目模拟器真机性能依赖主机硬件,处理图形计算时较慢实际性能表现,流畅硬件支持仅支持部分传感器、功能受限完整支持系统服务接近但不完全一致精准反映真实环境适用测试UI、功能流程测试性能、兼容性、硬件相关测试操控屏幕
操作方式描述滑动鼠标左键拖动拖动项目鼠标左键长按拖动单击鼠标左键点击双击快速双击左键长按长按左键后释放输入文字鼠标点击输入域,使用键盘输入缩放按住 Ctrl(或 Command),模拟双指缩放垂直滑动使用鼠标滚轮滚动菜单复制粘贴支持最大文本长度为 30,000 个英文字符使用工具栏
按键功能关闭/最小化/置顶控制模拟器窗口显示左右旋转屏幕旋转音量调整增减音量截屏保存当前屏幕图像主屏/返回/最近模拟系统导航键摇一摇触发摇一摇操作电池/GPS/传感器打开对应模拟面板设置配置模拟器属性Bug 报告导出日志并提交问题折叠展开模拟折叠设备形态变换移动与缩放模拟器窗口
- 拖动标题栏移动窗口
- 支持缩放比例(50%、100%、150%)
- 支持全屏模式(F11 切换)
- 支持多窗口并排显示
应用安装与文件传输
应用安装
- 方法一:拖拽 .hap 文件到模拟器窗口
- 方法二:使用如下命令行。
- hdc install path/to/your/app.hap
复制代码
文件传输
- # 发送文件
- hdc file send local_file remote_path
- # 接收文件
- hdc file recv remote_path local_folder
复制代码 支持配置共享文件夹,实现主机与模拟器之间文件共享。
扩展能力
- 快照:保存/恢复测试状态
- 硬件模拟:模拟加速度计、陀螺仪、通话、电量等
- 调试工具:性能分析、UI 渲染分析
- 自动化测试:录制操作、批量运行、脚本回放
常见问题与解决方案
问题类型解决方案启动失败确认开启虚拟化、系统镜像完整、防火墙未拦截网络不通检查网络设置、禁用 VPN/代理、切换 NAT 模式安装失败确认 HAP 包签名、版本兼容、磁盘空间充足性能卡顿减少主机负载、调低分辨率、更新显卡驱动文件无法传输使用命令行传输、确认权限与空间无法连接调试器重启 DevEco Studio、模拟器、检查 HDC 服务HDC 常用命令
设备管理
- # 列出所有已连接的设备
- hdc list targets
- # 连接到指定IP和端口的设备(无线调试)
- hdc target connect 192.168.1.100:8710
- # 断开与指定设备的连接
- hdc target disconnect 192.168.1.100:8710
- # 重启设备
- hdc target reboot
- # 检查设备连接状态
- hdc check-status
复制代码 应用管理
- # 安装应用
- hdc install path/to/your/app.hap
- # 安装多个HAP包
- hdc install -m path/to/entry.hap path/to/feature.hap
- # 卸载应用
- hdc uninstall com.example.app
- # 启动应用
- hdc shell aa start -a com.example.app.MainAbility -b com.example.app
- # 停止应用
- hdc shell aa stop -a com.example.app.MainAbility -b com.example.app
- # 清除应用数据
- hdc shell aa clear -b com.example.app
复制代码 文件操作
- # 从设备拉取文件到本地
- hdc file recv /data/storage/el2/base/files/example.db ./local_folder/
- # 发送本地文件到设备
- hdc file send ./local_file.txt /data/storage/el2/base/files/
- # 列出设备目录内容
- hdc shell ls -la /data/storage/el2/base/files/
- # 删除设备上的文件
- hdc shell rm /data/storage/el2/base/files/temp.txt
- # 创建设备上的目录
- hdc shell mkdir /data/storage/el2/base/files/new_folder
复制代码 日志与调试
- # 查看实时日志
- hdc shell hilog
- # 按标签过滤日志
- hdc shell hilog | grep "MyApp"
- # 保存日志到文件
- hdc shell hilog > app_log.txt
- # 清除日志缓冲区
- hdc shell hilog -c
- # 设置日志级别
- hdc shell hilog -L DEBUG
复制代码 性能分析
- # 显示进程列表
- hdc shell ps -ef
- # 显示特定应用的进程
- hdc shell ps -ef | grep com.example.app
- # 查看内存使用情况
- hdc shell free -m
- # 查看CPU使用情况
- hdc shell top -n 1
- # 获取应用内存使用详情
- hdc shell dumpsys meminfo com.example.app
复制代码 网络相关
- # 端口转发(将设备8080端口映射到本地8888端口)
- hdc forward tcp:8888 tcp:8080
- # 移除端口转发
- hdc forward --remove tcp:8888
- # 列出所有端口转发规则
- hdc forward --list
- # 查看设备网络配置
- hdc shell ifconfig
- # 测试网络连接
- hdc shell ping www.example.com
复制代码 自动化测试
- # 执行UI自动化测试
- hdc shell aa test -p com.example.test -s class com.example.test.TestClass
- # 模拟输入事件(点击屏幕坐标x=500, y=600)
- hdc shell input tap 500 600
- # 模拟滑动事件(从(300,500)滑动到(300,100))
- hdc shell input swipe 300 500 300 100
- # 模拟按键事件(按下返回键)
- hdc shell input keyevent 4
- # 模拟文本输入
- hdc shell input text "Hello%sWorld" # %s表示空格
复制代码 模拟器专用
- # 列出所有可用模拟器
- hdc emulator list
- # 创建新模拟器
- hdc emulator create -n MyEmulator -t phone
- # 启动模拟器
- hdc emulator start -n MyEmulator
- # 停止模拟器
- hdc emulator stop -n MyEmulator
- # 设置模拟器属性
- hdc emulator set -n MyEmulator -k resolution -v 1080x2340
复制代码 批处理示例
- # 执行设备上的Shell脚本
- hdc shell sh /data/local/tmp/test_script.sh
- # 执行本地Shell脚本并将结果传回
- hdc shell < ./local_script.sh > result.txt
- # 批量安装多个应用
- for hap in ./apps/*.hap; do hdc install "$hap"; done
复制代码 总结
无论是使用真机还是模拟器进行开发调试,合理选择测试环境与工具,能显著提升开发效率与应用质量。配合强大的 HDC 命令行工具,开发者可以实现高效部署、调试与自动化测试,是日常 HarmonyOS 应用开发的核心能力之一。
如有疑问,欢迎随时私信交流!
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除 |