2024年最新学习鸿蒙,你一定要熟知的这几个重要知识点?_stage与fa那个主流,字节跳动审核岗面试问题

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

获取完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

Stage 模型与 FA 模型的区别

当我们创建 Harmony 工程的时候,会让我们选择工程的模型。

图片

Harmony 的工程模型,分别为 Stage 模型与 FA 模型。

  • FA 模型:Harmony 初期的模型,仅适用简单的应用开发,比如笔记本、闹钟之类的软件。因为在 FA 模型,每个应用组件独享一个虚拟机,占用的运行内存会更多
  • Stage 模型:官方推荐的模型,相比于 FA 模型它适用于复杂应用开发。在 Stage 模型中多个应用组件共享同一个虚拟机,可以减少运行内存的占用,同时为了降低性能的损耗,保障用户体验,Harmony 对后台应用会有严格的管理机制

Harmony 后台管理机制

Harmony 对后台应用会有严格的管理机制,普通应用是不能随意驻留在后台,除非你的应用是国民级别的应用,Harmony 对后台应用会进行有序的治理,系统定义了四类后台任务。

  • **短时任务:**适用于实时性要求高、耗时不长的任务,例如应用更新时退至后台后继续更新,保存更新时的数据和状态。
  • **长时任务:**适用于长时间运行在后台、用户可感知的任务,例如后台播放音乐、导航、设备连接等,使用长时任务避免应用进程被挂起。
  • **延迟任务:**适用于实时性要求不高、可延迟执行的任务。应用退至后台后被放入执行队列,系统会根据内存、功耗等统一调度,例如有网络时不定期主动获取邮件。
  • **代理提醒:**代理提醒是指应用退后台或进程终止后,系统会代理应用做相应的提醒。适用于定时提醒类业务,当前支持的提醒类型包括倒计时、日历和闹钟三类。

配置环境变量

无论是开发 Android 还是开发 HarmonyOS,第一步都是要配置好环境变量,方便后期使用。

在命令行中配置 hdc

hdc 等同于 adb 是 HarmonyOS 为开发人员提供的用于调试的命令行工具,通过该工具可以在 windows/linux/mac 系统上与真实设备或者模拟器进行交互。

Mac 在不同的系统中使用不同的 shell, 使用下面命令查看自己使用的是哪一个 shell。

echo $SHELL

  • 如果输出结果为 /bin/bash,你的配置文件是 .bash_profile,打开文件命令 vi .bash_profile
  • 如果输出结果为 /bin/zsh,你的配置文件是 .zshrc, 打开文件命令 vi .zshrc

打开配置文件,将下面的内容添加到文件末尾。记得将「用户名目录」修改为你电脑的用户名。

export HARMONY_HOME=/Users/用户名目录/Library/Huawei
export HARMONY_SDK_HOME= H A R M O N Y H O M E / s d k e x p o r t P A T H = HARMONY_HOME/sdk export PATH= HARMONYHOME/sdkexportPATH=HARMONY_SDK_HOME/hmscore/3.1.0/toolchains:$PATH

保存文件,执行下面命令立即生效。

  • 如果配置文件是 .bash_profile,执行 source ~/.bash_profile
  • 如果配置文件是 .zshrc,执行 source ~/.zshrc

最后验证 hdc 是否配置成功。

hdc -v

hdc 和 adb 一样也有一堆命令,后期我会总结好分享给大家。

在命令行中配置 ohpm

OHPM CLI 作为鸿蒙生态三方库的包管理工具,支持 OpenHarmony 共享包的发布、安装和依赖管理。这个工具在开发中经常会用到,比如在模块中依赖三方库,我们可以使用 ohpm 下载安装第三方库。所以配置好 ohpm 环境变量,方便我们在开发中使用。

打开配置文件

  • 如果配置文件是 .bash_profile,执行 vi ~/.bash_profile
  • 如果配置文件是 .zshrc,执行 vi ~/.zshrc

将下面的内容,添加到配置文件末尾。记得将「用户名目录」修改为你电脑的用户名。

export HARMONY_HOME=/Users/用户名目录/Library/Huawei/
export PATH= H A R M O N Y H O M E / o h p m / b i n : HARMONY_HOME/ohpm/bin: HARMONYHOME/ohpm/bin:PATH

保存文件,执行下面命令立即生效。

  • 如果配置文件是 .bash_profile,执行 source ~/.bash_profile
  • 如果配置文件是 .zshrc,执行 source ~/.zshrc

最后验证 ohpm 是否配置成功。

ohpm -v

但是在下载安装 ohpm 工具包和使用 ohpm 时可能会出现不同的错误,这里列了几个常见的错误。

ohpm install failed

Error: execute install task failed, component ohpm.zip.
Error: execute ‘ohpm install’ failed.

这是由于 NPM 以前版本中的一个 bug 导致,运行下面的命令即可解决。

sudo chown -R 501:20 “/Users/替换为你mac的用户名/.npm”

ohpm registry is empty

创建 Harmony 项目之后 build 时可能出现 ohpm registry is empty 的错误。

ohpm ERROR: The registry is empty - edit .ohpmrc file or use “ohpm config set registry your_registry” command to set registry.
ohpm ERROR: Install failed

想解决这个问题,我们需要在 DevEco Studio 中配置 ohpm 仓库的地址,按照下面的路径打开 Ohpm 窗口。

DevEco Studio -> Perferences -> Build, Execution, Deployment -> Ohpm

图片

点击 Optimize Config 会弹出了一个界面。

图片

ohpm registry 中输入 ohpm 仓库的地址并勾选。

https://repo.harmonyos.com/ohpm/

保存成功之后,重新 build 项目即可成功。


真机和模拟器无法运行

首先检查你的 DevEco Studio 版本是否是  3.1 Release,这个版本可能存在一些问题。

真机无法连接

我用 usb 连接真机,在 DevEco Studio 设备管理器中无法显示,用命令查看已经连接上了,我猜测是这个版本的问题,于是我尝试降级到 DevEco Studio 3.1 Beta2 正常了。

本地模拟器无法运行

从 DevEco Studio 3.1 开始支持两个模拟器,API 版本分别为 6、9,无论哪个模拟器都无法运行。

图片

于是我查看了 鸿蒙的开发文档 DevEco Studio >=3.1 本地模拟器仅支持以下系统中运行。

  • Windows 系统:内存推荐为 16GB 及以上。
  • macOS 系统:内存推荐为 8GB 及以上。如果是 ARM 版本的 macOS,macOS 版本需在 12.2 及以上,否则将无法运行本地模拟器。

但是我的 macOS 的版本是 12.5.1 不仅本地模拟器无法运行,而且真机连接了也无法显示。

我猜测这个问题应该也是 DevEco Studio 版本的原因,于是我尝试降级到 DevEco Studio 3.1 Beta2,成功运行 DevEco Studio 支持的模拟器。

但是这里需要注意的是如果你的 macOS >=10.14 and macOS < 12.2  只能运行 API 版本是 6 的模拟器。

如果有遇到和我一样问题的小伙伴,可以采用临时方案,尝试降级 DevEco Studio 版,等待官方解决吧。

如何解决安装错误

好不容易解决了开发工具的问题,满心欢喜想运行鸿蒙应用体验一下,结果安装应用时报错了,让我喝杯茶压压惊。

图片

这是因为运行的设备(模拟器和真机)和 SDK 版本的不匹配,因此会报 INSTALL_PARSE_FAILED_USESDK_ERROR 错误。

想解决这个问题,需要将 compileSdkVersioncompatibleSdkVersion 以及 SDK 版本需要与运行设备的 apiVersion 对应起来。

但是我们不能简单修改配置文件中 compileSdkVersion 和 c ompatibleSdkVersion 的版本号,因为使用不同的 HarmonyOS Sdk 版本,创建的 HarmonyOS 工程的目录结构和开发语言都不相同。

  • API Version 4~7 构建体系是由 Gradle 构建工具和构建插件组成,不要基于这个版本去开发,不然后期从 Gradle 迁移到 Hvigor 是件非常痛苦的事
  • API Version 8~9 构建体系是由 Hvigor 构建工具和构建插件组成

开发语言也不一样:

  • API Version >= 9 仅仅支持 ArkTS
  • API Version == 8 支持 ArkTS 和 JS
  • API Version == 7 支持 ArkTS 、 JS 和 Java
  • API Version < 7 支持 JS 和 Java

所以我们不能简单的修改  compileSdkVersioncompatibleSdkVersion 的版本,对于我们初学者,如果出现这个问题,建议重新创建一个新的工程。

新建项目时 Compile Sdk 应该选择与你运行的设备(模拟器和真机) apiVersion 相对应的版本号。

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

b-1715484694530)]
[外链图片转存中…(img-Db8NGMBM-1715484694530)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值