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

背景

在开发中,我们有时候会用到系统接口,这个时候就需要用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包(Windows\Linux)3.2 Beta2站点SHA256校验码
标准系统Public SDK包(Mac)3.2 Beta2站点SHA256校验码
标准系统Public SDK包(Windows\Linux)3.2 Beta2站点SHA256校验码

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

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

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

image-20221014000258843

image-20221014002749918

替换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

image-20221014001324887

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

image-20221014001427046

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

image-20221014001628937

{
  "apiVersion": "9",
  "displayName": "Ets",
  "meta": {
    "metaVersion": "3.0.0"
  },
  "path": "ets",
  "releaseType": "Beta3",
  "version": "3.2.7.5"
}

然后在

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

image-20221014001805446

验证系统API接口

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

image-20221014002506992

image-20221014002149065

image-20221014002613422

整个替换完成。

总结

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

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐