【小源笔记】第一期 | 如何通过替换Full-SDK解决找不到部分API 精华
前言
在进行分布式开发时,发现出现如下报错,deviceManager的部分接口找不到
经过一番资料查找,了解到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需要前往版本说明书手动进行下载
例如笔者这里要替换为3.1.7.7的full-SDK,查看OpenHarmony SDK的保存路径
发现在下载站点在OpenHarmony-v3.1.2-release.md中,下载对应系统的Full SDK压缩包
下载后打开压缩包,打开我们需要的SDK包,例如笔者这里要ets的SDK
打开对应压缩包,将该ets文件夹直接解压到OpenHarmony SDK路径下的ets目录下
将ets重新命名为对应的版本号,如不清楚可以打开该目录下的oh-uni-package.json
文件查看version
字段例如这里为3.1.7.7(如果目录下原来已存在3.1.7.7,将原来的文件夹删除或者备份到其他路径下,后续替换成功可以删除)
进入3.1.7.7\build-tools\ets-loader
目录下,在该目录下打开cmd
输入npm install
命令即可
**PS:**若提示找不到npm,需要配置一下环境变量,将以下路径添加到环境变量中即可
【小源笔记】为笔者开发过程中的一些经验分享,旨在解决官方文档过于晦涩难懂或者示例代码不够详细的问题,同时方便笔者日后回顾以及其他开发者更快上手,欢迎评论留言~
感谢提供添加SDK的方法,第一次知道还有高权限API这种东西。
不开放所有API给开发者是为啥呢?
应该是系统API涉及到权限安全这方面的问题吧,具体的我也不清楚
看来开源也并非开放所有权限