【小源笔记】第一期 | 如何通过替换Full-SDK解决找不到部分API 精华

Haoc_小源同学
发布于 2022-9-21 11:57
浏览
2收藏

前言

在进行分布式开发时,发现出现如下报错,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

【小源笔记】第一期 | 如何通过替换Full-SDK解决找不到部分API-鸿蒙开发者社区

打开对应压缩包,将该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-鸿蒙开发者社区

【小源笔记】为笔者开发过程中的一些经验分享,旨在解决官方文档过于晦涩难懂或者示例代码不够详细的问题,同时方便笔者日后回顾以及其他开发者更快上手,欢迎评论留言~

标签
已于2022-10-25 16:57:37修改
5
收藏 2
回复
举报
4条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋


感谢提供添加SDK的方法,第一次知道还有高权限API这种东西。

已于2022-9-21 14:02:19修改
回复
2022-9-21 14:00:51
只看看不说话
只看看不说话

不开放所有API给开发者是为啥呢?

回复
2022-9-22 10:16:50
Haoc_小源同学
Haoc_小源同学 回复了 只看看不说话
不开放所有API给开发者是为啥呢?

应该是系统API涉及到权限安全这方面的问题吧,具体的我也不清楚

回复
2022-9-22 11:23:18
麻辣香锅配馒头
麻辣香锅配馒头 回复了 只看看不说话
不开放所有API给开发者是为啥呢?

看来开源也并非开放所有权限

回复
2022-9-23 14:29:51
回复
    相关推荐