HarmonyOS全栈开发指南:从入门到精通,构建万物智联的未来生态(二)

ops/2025/2/22 0:59:02/

二、开发环境与工具链

6. DevEco Studio安装与配置全攻略

安装步骤

  • 下载DevEco Studio安装包
    • 访问华为开发者官网,进入DevEco Studio下载页面。
    • 根据你的操作系统(Windows、macOS或Linux),选择相应的安装包进行下载。
    • 下载完成后,确保文件完整性,可以通过文件大小或哈希值进行验证。
  • 安装过程
    • 双击下载的安装包,启动安装程序。
    • 阅读并同意软件许可协议后,选择安装路径。建议选择有足够空间的磁盘分区,并避免安装在系统盘(如C盘)的根目录下。
    • 根据需要选择安装组件,通常建议安装所有推荐组件以确保功能的完整性。
    • 等待安装完成,期间可能会提示安装Java Development Kit (JDK) 或其他依赖项,按照提示操作即可。
  • 启动与初始化
    • 安装完成后,双击DevEco Studio图标启动IDE。
    • 首次启动时,可能会要求选择主题(如Darcula、IntelliJ Light等),根据个人偏好进行选择。
    • 配置代理(如果需要使用代理服务器),确保IDE能够正常访问互联网资源。
    • 初始化完成后,登录华为开发者账号,以便享受更多开发者服务。

配置要点

  • SDK Manager
    • 打开DevEco Studio后,通过“Tools”菜单找到“SDK Manager”。
    • 在SDK Manager中,可以浏览和安装不同版本的HarmonyOS SDK、模拟器镜像和其他必要的SDK工具。
    • 定期检查并更新SDK,以确保使用最新版本的API和工具。
  • AVD Manager
    • AVD Manager用于创建和管理模拟器设备。虽然名为Android Virtual Device,但同样适用于HarmonyOS模拟器的配置。
    • 在AVD Manager中,可以根据需要配置模拟器的屏幕尺寸、分辨率、CPU/内存配置、系统版本等。
    • 创建完成后,可以保存AVD配置,以便将来快速启动相同配置的模拟器。
  • 项目设置
    • 新建或导入项目时,在“Project Structure”对话框中配置项目的SDK版本、编译选项等。
    • 确保项目使用的SDK版本与模拟器或真机支持的版本相匹配。
    • 配置项目的签名信息,包括密钥库路径、密钥别名、密码等,用于生成签名APK/HAP文件。

常用功能

  • 代码编辑
    • DevEco Studio提供智能代码补全、语法高亮、代码折叠等编辑功能,支持Java、JavaScript、TypeScript等多种编程语言。
    • 利用代码模板和代码片段,快速编写常用代码结构。
    • 通过“Find in Path”和“Replace in Path”功能,在项目中搜索和替换文本。
  • 调试与测试
    • 集成调试器支持断点调试、变量监视、日志查看等操作,可以方便地跟踪代码执行过程。
    • 支持单元测试、UI自动化测试等多种测试方式,确保代码质量和稳定性。
    • 利用“Layout Inspector”和“Performance Profiler”等工具,分析UI布局和性能瓶颈。
  • 打包与发布
    • 利用DevEco Studio的打包工具,根据配置生成APK/HAP安装包。
    • 支持签名和打包过程的自动化,减少手动操作步骤。
    • 通过华为应用市场等平台发布应用,触达广大用户群体。

思维导图

 

复制代码

DevEco Studio安装步骤
├── 下载DevEco Studio安装包
├── 安装过程
│ ├── 选择安装路径
│ ├── 选择组件
│ └── 完成安装
└── 启动与初始化
├── 选择主题
├── 配置代理
└── 登录开发者账号
配置要点
├── SDK Manager
│ ├── 浏览SDK
│ ├── 安装SDK
│ └── 更新SDK
├── AVD Manager
│ ├── 创建模拟器
│ ├── 配置模拟器参数
│ └── 保存AVD配置
└── 项目设置
├── 配置SDK版本
├── 配置编译选项
└── 配置签名信息
常用功能
├── 代码编辑
│ ├── 智能代码补全
│ ├── 语法高亮
│ ├── 代码折叠
│ └── 搜索与替换
├── 调试与测试
│ ├── 断点调试
│ ├── 变量监视
│ ├── 日志查看
│ ├── 单元测试
│ ├── UI自动化测试
│ └── 性能分析
└── 打包与发布
├── 生成安装包
├── 自动化签名与打包
└── 发布应用

扩展阅读

  • 华为开发者官网:DevEco Studio官方文档
  • 开发者社区:DevEco Studio使用心得与技巧分享

7. 模拟器与真机调试实战技巧

模拟器使用

  • 创建模拟器
    • 在DevEco Studio中,通过“Tools”菜单找到“AVD Manager”。
    • 在AVD Manager中,点击“Create Virtual Device”按钮,选择目标设备配置(如屏幕尺寸、分辨率、系统版本等)。
    • 配置完成后,点击“Finish”按钮创建模拟器。
  • 启动模拟器
    • 创建完成后,在AVD Manager中选择已创建的模拟器,点击“Run”按钮启动模拟器。
    • 模拟器启动后,加载并运行指定的应用或项目。
  • 模拟器操作
    • 模拟器提供与真实设备相似的操作界面和交互方式,支持触摸、键盘、鼠标等多种输入方式。
    • 可以使用模拟器上的虚拟按键(如Home键、返回键等)进行导航和操作。
    • 通过模拟器上的菜单或快捷键,可以访问系统设置、开发者选项等。

真机调试

  • 连接真机
    • 使用USB线将真机连接到开发电脑,并确保已开启USB调试模式(在手机的开发者选项中启用)。
    • 在DevEco Studio中,通过“View”菜单找到“Tool Windows”下的“Device Manager”。
  • 识别设备
    • 在Device Manager中,可以看到已连接的真机设备列表。
    • 点击设备名称,可以获取设备的详细信息(如型号、系统版本、连接状态等)。
  • 真机调试
    • 与模拟器类似,可以在真机上进行断点调试、变量监视、日志查看等操作。
    • 真机调试可以更准确地模拟用户行为,测试应用的真实性能和用户体验。

实战技巧

  • 快速重启模拟器
    • 利用快捷键(如Ctrl+F12)或命令行工具快速重启模拟器,提高调试效率。
    • 在AVD Manager中,可以为常用模拟器配置快捷键,方便快速启动和关闭。
  • 多设备同时调试
    • 同时连接多个模拟器或真机,在DevEco Studio中可以通过Device Manager选择目标设备进行调试。
    • 这有助于测试应用在不同设备和系统版本上的兼容性和性能表现。
  • 日志过滤与搜索
    • 利用日志过滤和搜索功能,快速定位问题日志。
    • 在DevEco Studio的“Logcat”窗口中,可以根据日志级别、标签或关键字进行过滤和搜索。

思维导图

 

复制代码

模拟器使用
├── 创建模拟器
│ ├── 打开AVD Manager
│ ├── 选择设备配置
│ └── 创建模拟器
├── 启动模拟器
│ ├── 选择模拟器
│ └── 启动并运行应用
└── 模拟器操作
├── 触摸与输入
├── 虚拟按键导航
└── 访问系统设置与开发者选项
真机调试
├── 连接真机
│ ├── 使用USB线连接
│ ├── 开启USB调试模式
│ └── 在Device Manager中识别设备
├── 识别设备
│ ├── 查看设备列表
│ └── 获取设备详细信息
└── 真机调试
├── 断点调试
├── 变量监视
├── 日志查看
└── 测试应用性能与用户体验
实战技巧
├── 快速重启模拟器
│ ├── 使用快捷键
│ └── 配置常用模拟器快捷键
├── 多设备同时调试
│ ├── 连接多个设备
│ └── 选择目标设备调试
└── 日志过滤与搜索
├── 日志过滤
└── 日志搜索

扩展阅读

  • 华为开发者官网:[模拟器与真机调试官方教程](文档中心

 

8. 工程目录结构与核心配置文件解析

工程目录结构
  • entry
    • pages:存放应用的页面代码,每个页面通常包含对应的JavaScript、CSS和HML(Harmony Markup Language)文件。
    • common:存放公共资源,如样式文件、图片资源、公共JavaScript模块等。
    • resources:存放应用所需的特定资源,如国际化文件、配置文件等。
  • libs
    • 存放第三方库文件,这些库可以是JavaScript库、Native库或者其他格式的库文件,用于扩展应用的功能。
  • sign
    • 存放应用签名文件,这些文件用于应用的打包和发布,确保应用的完整性和真实性。
  • build.gradle
    • 定义项目的构建配置,包括项目的依赖管理、编译选项、打包配置等。通过修改这个文件,可以定制项目的构建流程。
  • settings.gradle
    • 用于包含多个子模块的配置,如果项目包含多个模块,需要在这个文件中进行声明和配置。
核心配置文件
  • config.json
    • 应用的全局配置文件,定义了应用的基本信息(如应用名称、版本号、图标等)、模块依赖关系、权限请求列表等。通过修改这个文件,可以定制应用的行为和外观。
  • module.json
    • 模块的配置文件,用于定义模块的依赖关系、编译选项、资源路径等。这个文件对于多模块项目尤为重要,可以确保模块之间的正确集成和编译。
  • AndroidManifest.xml
    • 虽然名为Android,但同样适用于HarmonyOS。这个文件定义了应用的组件(如Activity、Service等)、权限声明、活动配置等。它是应用与操作系统交互的重要桥梁。
配置方法
  • 修改应用信息
    • config.json文件中,找到app节点,然后修改nameversionCodeversionNameicon等字段的值,以更新应用的基本信息。
  • 添加依赖
    • build.gradle文件中,找到dependencies节点,然后添加所需的第三方库依赖。对于模块依赖,可以在module.json文件中进行配置。
  • 申请权限
    • config.jsonAndroidManifest.xml文件中,找到权限声明部分,然后添加所需的权限。确保申请的权限与应用的功能需求相匹配,避免过度申请权限。

9. 命令行工具hdc的进阶用法

基本命令
  • hdc list targets
    • 列出所有已连接的设备,包括设备的序列号、型号、状态等信息。通过这个命令,可以快速确认哪些设备已经连接并可用。
  • hdc file push/pull
    • hdc file push命令用于将本地文件传输到设备上指定路径;hdc file pull命令用于从设备上指定路径拉取文件到本地。这两个命令支持递归传输目录和文件。
  • hdc shell
    • 进入设备的shell环境,允许开发者在设备上执行命令行操作。通过这个命令,可以访问设备的文件系统、查看系统信息、运行应用等。
进阶用法
  • 设备监控
    • 利用hdc命令结合系统自带的监控工具(如top、vmstat等),可以实时监控设备的CPU使用率、内存使用情况、磁盘I/O等关键指标。这对于性能调优和问题排查非常有帮助。
  • 日志抓取
    • 通过hdc logcat命令抓取设备的日志信息。这个命令支持过滤日志级别、关键词等,可以方便地定位和分析问题。抓取到的日志信息可以保存到本地文件,供后续分析使用。
  • 性能调优
    • 利用hdc命令结合性能分析工具(如systrace、traceview等),可以进行性能监控和分析。通过分析应用的启动时间、响应时间、内存占用等指标,可以发现性能瓶颈并进行优化。
实战案例
  • 抓取设备日志
    • 使用hdc logcat命令抓取设备日志,并通过关键词过滤和日志级别控制来缩小日志范围。然后,将抓取到的日志信息保存到本地文件,使用日志分析工具(如Logcat Viewer、LogExpert等)进行详细分析。
  • 文件传输与同步
    • 利用hdc file push/pull命令实现设备与电脑之间的文件传输和同步。例如,可以将开发环境中的代码和资源文件推送到设备上进行测试;也可以将设备上的日志文件拉取到本地进行分析。
  • 远程调试
    • 通过hdc shell命令进入设备的shell环境,然后运行应用或调试工具进行远程调试。例如,可以使用adb shell am start命令启动应用;也可以使用gdblldb等调试器进行代码级别的调试。

10. 代码版本控制与团队协作规范

代码版本控制系统
  • Git基础
    • Git是一个分布式版本控制系统,它允许开发者在本地进行代码的版本控制操作(如提交、合并、回滚等)。了解Git的基本概念(如仓库、分支、提交等)和常用命令(如git initgit clonegit addgit commitgit pushgit pull等)是使用Git的基础。
  • Git分支管理
    • 分支是Git中非常重要的概念之一,它允许开发者在不影响主线代码的情况下进行功能开发或错误修复。了解如何创建、合并、删除分支以及制定分支管理策略(如主分支保护、特性分支、发布分支等)对于团队协作至关重要。
  • Git远程仓库
    • 远程仓库是代码托管平台上的仓库,用于存储和共享代码。了解如何将本地仓库与远程仓库同步(如git remote addgit fetchgit push等)以及远程仓库的使用和管理(如分支管理、Pull Request、Issue跟踪等)是团队协作中不可或缺的技能。
团队协作规范
  • 代码审查
    • 代码审查是确保代码质量的重要手段之一。通过代码审查,可以发现代码中的潜在问题、提高代码的可读性和可维护性。制定代码审查的流程(如代码提交后自动触发审查、指定审查人等)、标准(如代码风格、命名规范、注释要求等)以及使用工具(如GitHub Pull Request、GitLab Merge Request等)进行代码审查是团队协作中的重要环节。
  • 持续集成/持续部署(CI/CD)
    • CI/CD是一种软件开发实践,旨在通过自动化构建、测试和部署流程来提高软件交付的效率和质量。了解CI/CD的概念(如持续集成、持续交付、持续部署等)、流程(如代码提交后触发构建、构建成功后触发测试、测试通过后触发部署等)以及使用工具(如Jenkins、GitLab CI/CD、GitHub Actions等)在HarmonyOS应用开发中实施CI/CD是团队协作中的重要技能。
  • 团队协作工具
    • 团队协作工具可以帮助团队成员更好地沟通和协作。推荐一些团队协作工具,如Jira(用于项目管理和任务跟踪)、Confluence(用于知识管理和文档协作)、Slack(用于即时通讯和团队协作)等,并介绍它们的使用方法和优势。通过选择合适的工具并制定相应的使用规范,可以提高团队协作的效率和效果。
最佳实践
  • 代码风格统一
    • 制定并遵守统一的代码风格规范是确保代码可读性和可维护性的关键。可以通过制定编码规范文档、使用代码格式化工具(如Prettier、ESLint等)以及进行代码审查等方式来确保代码风格的统一。
  • 分支命名规范
    • 制定清晰的分支命名规范可以帮助团队成员更好地理解和管理分支。例如,可以使用feature/前缀表示特性分支、bugfix/前缀表示错误修复分支、release/前缀表示发布分支等。通过遵循这些命名规范,可以提高分支管理的效率和准确性。
  • 版本发布流程
    • 制定版本发布流程可以确保每次发布都经过充分的测试和验证。例如,可以制定发布计划、进行代码冻结、执行自动化测试、准备发布文档和安装包等步骤。通过遵循这些流程步骤,可以降低发布风险并提高发布质量。

http://www.ppmy.cn/ops/160378.html

相关文章

基于微信小程序的电影院订票选座系统的设计与实现,SSM+Vue+毕业论文+开题报告+任务书+指导搭建视频

本系统包含用户、管理员两个角色。 用户角色:注册登录、查看首页电影信息推荐、查看电影详情并进行收藏预定、查看电影资讯、在线客服、管理个人订单等。 管理员角色:登录后台、管理电影类型、管理放映厅信息、管理电影信息、管理用户信息、管理订单等。…

基于SpringBoot的高校教学资料管理系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

【Android】Android 悬浮窗开发 ( 动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

文章目录 一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后返回处理 二、悬浮窗 前台服务和通知1、前台服务 启动 悬浮窗 的必要性① 保持悬浮窗存活② 悬浮窗的要求③ 悬浮窗版本兼容 2、其它类型服务简介① 前台服务…

基于WebGIS技术的校园地图导航系统架构与核心功能设计

本文专为IT技术人员、地理信息系统(GIS)开发者、智慧校园解决方案架构师及相关领域的专业人士撰写。本文提出了一套基于WebGIS技术的校园地图导航系统构建与优化方案,旨在为用户提供高效、智能、个性化的导航体验。如需获取校园地图导航系统技…

青龙面板运行selenium启动Chrome报错

Bug Description 在青龙面板运行selenium启动 Chrome 时,出现以下错误: selenium.common.exceptions.WebDriverException: Message: chrome not reachable这个错误信息表示 Chrome 浏览器无法被 Selenium 控制。 以下是python中对chrome的配置&#x…

@Transactional 嵌套,内层抛异常,外层用 try-catch 捕获但实际事务却回滚了

1. 内层事务传播行为为 Propagation.REQUIRED 且设置了回滚标记 虽然外层捕获了异常,但内层事务在抛出异常时可能已经标记了整个事务需要回滚。在 Spring 中,当内层事务传播行为为 Propagation.REQUIRED 时,它和外层事务属于同一个逻辑事务。…

Java中JDK、JRE,JVM之间的关系

Java中的JDK、JRE和JVM是三个核心概念,其关系可概括为JDK > JRE > JVM,具体如下: 一、定义与作用 JDK(Java Development Kit) 定义:Java开发工具包,用于开发和编译Java程序。包含内容&…

Web入侵实战分析-常见web攻击类应急处置实验2

场景说明 某天运维人员,发现运维的公司站点被黑页,首页标题被篡改,你获得的信息如下: 操作系统:windows server 2008 R2业务:公司官网网站架构:通过phpstudy运行apache mysqlphp开放端口&…