1# 如何替换full-SDK 2 3**public-SDK**是提供给应用开发的工具包,跟随DevEco Studio下载,不包含系统应用所需要的高权限API 4 5**full-SDK**是提供给OEM厂商开发应用的工具包,不能随DevEco Studio下载,包含了系统应用所需要的高权限API 6 7三方开发者通过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**。 8 9> **说明**:本文中的截图仅为参考,具体的显示界面请以实际使用的DevEco Studio和SDK的版本为准。 10 11## 下载full-SDK 12 13full-SDK需要手动下载。请参考[版本说明书](../../release-notes/OpenHarmony-v3.2-beta2.md)中的获取方式,从镜像站点获取所需的操作系统的full-SDK。 14 15 16 17## 查看本地SDK路径(此处以ets工程为例,1.0工程请以相同方式替换js-SDK) 18 19 20打开DevEco Studio——>Tools——>OpenHarmony SDK Manager,查看本地SDK安装路径。 21 22![](figures/zh-cn_image_0000001655128939.png) 23 24![image-20220613160524053](figures/zh-cn_image_0000001655128998.png) 25 26 27## 替换SDK 28 291. 确认下载的SDK版本是否为full-SDK 30 31 a.检查下载文件名是否包含full-SDK字样 32 33 ![image-20220613220702504](figures/zh-cn_image_0000001655129232.png) 34 35 b.检查api中是否包含系统API(@ohos.application.abilityManager.d.ts、@ohos.application.formInfo.d.ts、@ohos.bluetooth.d.ts等) 36 37 注:系统api判定标准以发布api指导文档为主。 38 39 40 412. 替换SDK,以public-SDK-3.x.x.x版本为例。 42 43 以windows为例: 44 45 a.解压已下载的full-SDK文件:`ets-windows-3.x.x.x-Release.zip` 46 47 ![image-20220613165018184](figures/zh-cn_image_0000001655129264.png) 48 49 b.替换SDK文件 50 51 **备份本地SDK**(复制并重命名ets目录下版本信息目录名,或者将ets目录拷贝至其他本地路径) 52 53 打开获取到的本地已安装SDK文件路径并进行备份。 54 55 ![image-20220613161352157](figures/zh-cn_image_0000001655129041.png) 56 57 注:备份版本信息目录名称只要与其下`oh-uni-package.json`配置文件的version字段不一致即可,如下图所示,备份3.1.6.6版本sdk 58 59 ![image-20220613165018184](figures/zh-cn_image_0000001655129398.png) 60 61 `oh-uni-package.json`文件配置信息如下,其中,`apiVersion`的值以SDK对应的API version为准,`version`的值以SDK文件的版本号为准: 62 63 ```json 64 { 65 "apiVersion": "X", 66 "displayName": "Ets", 67 "meta": { 68 "metaVersion": "3.0.0" 69 }, 70 "path": "ets", 71 "releaseType": "Release", 72 "version": "3.x.x.x" 73 } 74 ``` 75 76 77 **删除原SDK(3.x.x.x)目录中的所有文件**(否则可能会导致文件无法全部覆盖) 78 79 80 81 **拷贝full-SDK至本地SDK路径** 82 83 将下载的full-SDK文件包中`ets`目录下的所有文件替换至本地SDK路径下`ets\3.x.x.x`目录中 84 85 修改`oh-uni-package.json`配置文件的version字段为当前SDK版本号 86 87 88 89 在`3.x.x.x\build-tools\ets-loader`目录中打开cmd/powerShell窗口,输入命令`npm install`下载**node_modules**依赖包 90 91 ![image-20220613171111405](figures/zh-cn_image_0000001655129333.png) 92 93 94 95 c.验证系统API接口 96 97 ![image-20220613213038104](figures/zh-cn_image_0000001655129372.png) 98 99## 附录:MacOS安全告警处理 100 101官网下载的full-SDK放到MacOS上的DevEcoStudio中替换后,打开预览器会出现告警 102 103![alarm](figures/alarm.png) 104 105我们可以操作以下步骤来处理此问题: 106 1071.打开Terminal终端应用 108 1092.在终端中输入命令:sudo spctl -- master - disable 110 1113.进入系统偏好设置中的[安全与隐私]面板中,打开"任何来源"选项 112 113![alarmHand](figures/alarmHand.png) 114 115此时第三方源下载安装的软件就都不会被阻止执行了,为了安全起见,使用后建议将这里的"任何来源"的选项进行变更。 116 117