作者:坚果 公众号:"大前端之旅" 润和软件生态技术专家,华为云享专家,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的替换,为大家在调用系统接口的开发场景中,保驾护航。