如何通过替换Full-SDK解决找不到部分API

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

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

前言

在进行分布式开发时,发现出现如下报错,deviceManager的部分接口找不到。

如何通过替换Full-SDK解决找不到部分API-开源基础软件社区

经过一番资料查找,了解到IDE下载的SDK为public-SDK,没有包含系统API

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

下载full-SDK

full-SDK需要前往​​版本说明书​​手动进行下载。

如何通过替换Full-SDK解决找不到部分API-开源基础软件社区

例如笔者这里要替换为3.1.7.7的full-SDK,查看OpenHarmony SDK的保存路径。

如何通过替换Full-SDK解决找不到部分API-开源基础软件社区

发现在下载站点在OpenHarmony-v3.1.2-release.md中,下载对应系统的Full SDK压缩包。

如何通过替换Full-SDK解决找不到部分API-开源基础软件社区

下载后打开压缩包,打开我们需要的SDK包,例如笔者这里要ets的SDK。

打开对应压缩包,将该ets文件夹直接解压到OpenHarmony SDK路径下的ets目录下。

如何通过替换Full-SDK解决找不到部分API-开源基础软件社区

将ets重新命名为对应的版本号,如不清楚可以打开该目录下的oh-uni-package.json​文件查看version字段例如这里为3.1.7.7(如果目录下原来已存在3.1.7.7,将原来的文件夹删除或者备份到其他路径下,后续替换成功可以删除)。

如何通过替换Full-SDK解决找不到部分API-开源基础软件社区

如何通过替换Full-SDK解决找不到部分API-开源基础软件社区

进入3.1.7.7\build-tools\ets-loader目录下,在该目录下打开cmd输入npm install命令即可。

如何通过替换Full-SDK解决找不到部分API-开源基础软件社区

**PS:**若提示找不到npm,需要配置一下环境变量,将以下路径添加到环境变量中即可。

如何通过替换Full-SDK解决找不到部分API-开源基础软件社区

以上为个人经验分享。

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​​。

责任编辑:jianghua 来源: 51CTO开源基础软件社区
点赞
收藏

51CTO技术栈公众号