OpenHarmony如何将public-SDK替换为full-SDK,以支持更高系统API

2022-12-05 15:15:24 浏览数 (1)

作者:坚果 公众号:"大前端之旅" 润和软件生态技术专家,华为云享专家,InfoQ签约作者,OpenHarmony布道师,CSDN博客专家,电子发烧友鸿蒙MVP,阿里云专家博主,51CTO博客首席体验官,开源项目GVA成员之一,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。

背景

在开发中,我们有时候会用到系统接口,这个时候就需要用full-SDK,那么如何将public-SDK替换为full-SDK呢,本文将给大家给出指引。

SDK分类

public-SDK是提供给应用开发的工具包,跟随DevEco Studio下载,不包含系统应用所需要的高权限API。

full-SDK是提供给OEM厂商开发应用的工具包,不能随DevEco Studio下载,包含了系统应用所需要的高权限API

三方开发者通过DevEco Studio自动下载的API8版本SDK均为public版本。public-SDK不支持开发者使用所有的系统API,包括animator组件、xcomponent组件、@ohos.application.abilityManager.d.ts、@ohos.application.formInfo.d.ts、@ohos.bluetooth.d.ts等,如工程必须依赖于系统API,请按照以下步骤替换full-SDK

说明:本文中的截图仅为参考,具体的显示界面请以实际使用的DevEco Studio和SDK的版本为准。

下载full-SDK

full-SDK需要手动下载

如下是获取源码路径的方式。

版本源码

版本信息

下载站点

SHA256校验码

全量代码(标准、轻量和小型系统)

3.2 Beta2

?站点

?SHA256校验码

Hi3861轻量系统解决方案(二进制)

3.2 Beta2

?站点

?SHA256校验码

Hi3516轻量系统解决方案-LiteOS(二进制)

3.2 Beta2

?站点

?SHA256校验码

Hi3516轻量系统解决方案-Linux(二进制)

3.2 Beta2

?站点

?SHA256校验码

RK3568标准系统解决方案(二进制)

3.2 Beta2

?站点

?SHA256校验码

标准系统Full SDK包(Mac)

3.2 Beta2

?站点

?SHA256校验码

标准系统Full SDK包(WindowsLinux)

3.2 Beta2

?站点

?SHA256校验码

标准系统Public SDK包(Mac)

3.2 Beta2

?站点

?SHA256校验码

标准系统Public SDK包(WindowsLinux)

3.2 Beta2

?站点

?SHA256校验码

我们查看自己的电脑,发现是Windows,所以下载?标准系统Full SDK包(WindowsLinux)

查看本地SDK路径(此处以ets工程为例)

打开DevEco Studio——>Tools——>OpenHarmony SDK Manager,查看本地SDK安装路径。发现在D:ProgramOpenHarmonySdk下,版本为3.2.7.5。

替换SDK

1.确认下载的SDK版本是否为full-SDK,主要检查下载文件名是否包含full字样,如果包含则进行下一步。

2.替换SDK,以public-SDK-3.2.7.5版本为例。

以windows为例:

a.解压已下载的full-SDK文件:ets-windows-3.2.5.5-Beta2.zip

然后复制到前面的D:ProgramOpenHarmonySdkets路径下,将其重命名为3.2.7.5,然后将其原来的3.2.7.5备份为3.2.7.6

然后将3.2.7.6的oh-uni-package.json文件复制到3.2.7.5,覆盖。

代码语言:javascript复制
{
  "apiVersion": "9",
  "displayName": "Ets",
  "meta": {
    "metaVersion": "3.0.0"
  },
  "path": "ets",
  "releaseType": "Beta3",
  "version": "3.2.7.5"
}

然后在

3.2.7.5build-toolsets-loader目录中打开cmd/powerShell窗口,输入命令npm install下载node_modules依赖包

验证系统API接口

getXComponentSurfaceId为系统接口,我们调用发现,是可以正常使用的

整个替换完成。

总结

日常开发中,我们经常遇到调用系统接口的需求,本文就以eTS为例,教大家,如何完成全量SDK的替换,为大家在调用系统接口的开发场景中,保驾护航。

0 人点赞