鸿蒙API版本、SDK版本和DevEco-Studio版本的对应关系 附鸿蒙API11文档和IDE地址

6,276 阅读2分钟

1. 版本对应关系

鸿蒙官方于 2024.3.30 正式放开了 4.1 Release(API11) 版本的 API 文档,至此“野生”开发者们(未进行企业签约合作)就可以同步知晓正式的 API 支持哪些能力了。

一般自学鸿蒙开发,使用的教程和 IDE 可能都是 API 9 版本,系统兼容 HarmonyOS 3.1 和 HarmonyOS 4.0,也就是旧版本。

但新版鸿蒙系统(纯血鸿蒙) 并不是 HarmonyOS ,而是 Harmony OS Next,完全基于 OpenHarmony,去除了 AOSP 兼容,二者 SDK 版本并没有直接的对应关系,API 文档也不是一套(但是有继承关系)。

关于 OpenHarmony、HarmonyOS 和 HarmonyOS Next 的关系,可以参考这张图(图源,转侵删):

当下市面的 HarmonyOS4.0 系列,依旧包含 AOSP:

三者 logo 的区别: 98b450a0db1a17a49287b5fe3ac6d4cc.png u=3357430720,219628443&fm=30&app=106&f=JPEG.jpeg 75ba2b156e205c2673ccb40651f973fe7932.jpeg

具体 OpenHarmony 对应的套件版本参考如下:

系统版本时间APIPublic SDKDevEco Studio
OpenHarmony v4.1 Release2024/03/30API 11 ReleaseOhos_sdk_public 4.1.7.5DevEco Studio 4.1 Release
OpenHarmony v4.0 Release2023/10/26API 10 ReleaseOhos_sdk_public 4.0.10.13DevEco Studio 4.0 Release
OpenHarmony v3.2 Release2023/04/09API 9 ReleaseOhos_sdk_public 3.2.11.9DevEco Studio 3.1 Release

2. 可用的 API 和 IDE

虽说最新的文档已经放开,但是 IDE 并没有直接放开(应该是签约合作后才可用),也就是 DevEco Studio 目前最新可用的还是 4.0 Release 版本,对应 API10,下载地址如下:

API11 对应的 4.1 Release IDE 已经放开: 截屏2024-04-17 10.33.31.png

即便有了 API10/11 ,对应的 IDE 也没有直接放开 API10/11 的虚拟机或是远程设备:

这也就导致了真机开发环境的不可用。如果年初没有参与鸿蒙 Next 版系统的预约测试,目前也就彻底没有了可运行的真机环境。

正常的 ArkUI 开发,使用 Studio 的预览器即可实时预览,但是涉及系统层 API ,比如操作 Ability 层 API 或者相机这类硬件资源,单纯的预览器就无法使用了,会直接报错。

3. 新版 ArkTS 的语法兼容性

API10 以后,鸿蒙针对 TS/JS 的标准库做了阉割(优化),很多常规的 TS 语法或者标准库的 API 将不再兼容,具体可以参考:

从TypeScript到ArkTS的适配规则

迁移指南参考: 适配指导案例

例如可能会遇到如下报错:

解释:ArkTS 不允许使用标准库函数 Function.apply、Function.bind 以及 Function.call

参考关键字: arkts-no-func-apply-bind-call)

适配写法为:

NavigationBar({
  useCustomTitle: true,
  // 利用箭头函数改变指针指向
  // customTitle: (): void => this.customTitleBuilder(),
  // 或者更直白一点
  customTitle: () => {
    this.customTitleBuilder()
  },
  useCustomRightArea: true,
  customRightArea: this.customRightAreaBuilder,
  backAction: () => {
    router.back()
  }
})