#创作者激励#OpenHarmony full-SDK编译替换,看这一篇就够了 原创

鸿蒙坚果派
发布于 2023-3-3 17:23
浏览
1收藏

OpenHarmony full-SDK编译替换,看这一篇就够了

【本文正在参加2023年第一期优质创作者激励计划】

坚果,润开鸿技术专家,华为HDE,InfoQ签约作者,OpenHarmony布道师,多个平台的专家博主。

主页:https://ost.51cto.com/person/posts/14830231

@TOC
full-SDK是提供OpenHarmony全量接口的SDK,包含了系统应用所需要的高权限API,用于厂商开发应用。

今天要用到full SDK ,但是从OpenHarmony3.2Beta5版本开始,不在随版本提供full-SDK。这个时候就需要我们自己编译了。

下载和编译

我们可以在自己的虚拟机环境里,新建一个fullsdk的目录

mkdir fullsdk

然后cd进入

cd fullsdk

这个时候就可以下载代码了

1.初始化manifest:

repo init -u https://gitee.com/openharmony/manifest.git -b $manifest_branch --no-repo-verify --repo-url=https://gitee.com/oschina/repo --no-clone-bundle

$manifest_branch:选择想要的分支,我这里选择的master分支

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify --repo-url=https://gitee.com/oschina/repo --no-clone-bundle

2.根据上面下载的manifest仓进行下载代码:

repo sync -c -d --force-sync

3.预编译

yes y | apt install libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev && rm -rf prebuilts/clang/ohos/darwin-x86_64/clang-480513 && rm -rf prebuilts/clang/ohos/windows-x86_64/clang-480513 && rm -rf prebuilts/clang/ohos/linux-x86_64/clang-480513 && bash build/prebuilts_download.sh -ndk && apt-get update -qqy && apt-get install doxygen -y --force-yes

上面的命令也可以分开执行

如果出现权限问题,可以加sudo

 sudo apt install libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev 
rm -rf prebuilts/clang/ohos/darwin-x86_64/clang-480513
 rm -rf prebuilts/clang/ohos/windows-x86_64/clang-480513
rm -rf prebuilts/clang/ohos/linux-x86_64/clang-480513
rm -rf prebuilts/clang/ohos/linux-x86_64/clang-480513
bash build/prebuilts_download.sh -ndk

执行

repo forall -c 'git lfs pull'

如果出现权限问题,可以加sudo

sudo  apt-get update -qqy

如果出现权限问题,可以加sudo

sudo apt-get install doxygen -y --force-yes

这个时候是可以编译成功的

4.编译

./build.sh --product-name ohos-sdk

5.导出

编译成功后导出即可

这个时候就可以继续后面 的替换步骤了

打开DevEco Studio——>Tools——>OpenHarmony SDK Manager,查看本地SDK安装路径。发现在D:\Program\OpenHarmony\Sdk下,版本为3.2.10.6。

 #创作者激励#OpenHarmony full-SDK编译替换,看这一篇就够了-鸿蒙开发者社区

替换SDK

1.确认下载的SDK版本是否为full-SDK

2.检查下载文件名是否包含full-SDK字样

3.检查api中是否包含系统API

(@ohos.app.ability.abilityManager.d.ts、@ohos.app.form.formInfo.d.ts、@ohos.bluetooth.d.ts等)

注:系统api判定标准以发布api指导文档为主。

4.替换SDK

替换SDK,以public-SDK-3.x.x.x版本为例。

以windows为例:

a.解压已下载的full-SDK文件:ets-windows-3.x.x.x-Release.zip

b.替换SDK文件

5.备份本地SDK

备份本地SDK(复制并重命名ets目录下版本信息目录名,或者将ets目录拷贝至其他本地路径)

打开获取到的本地已安装SDK文件路径并进行备份。

注:备份版本信息目录名称只要与其下oh-uni-package.json配置文件的version字段不一致即可,如下图所示,备份3.2.10.6版本sdk

oh-uni-package.json文件配置信息如下,其中,apiVersion的值以SDK对应的API version为准,version的值以SDK文件的版本号为准:

{
  "apiVersion": "9",
  "displayName": "Ets",
  "meta": {
    "metaVersion": "3.0.0"
  },
  "path": "ets",
  "releaseType": "Beta5",
  "version": "3.2.10.6"
}

6.删除原SDK

删除原SDK(3.x.x.x)目录中的所有文件(否则可能会导致文件无法全部覆盖)

7.拷贝full-SDK至本地SDK路径

将下载的full-SDK文件包中ets目录下的所有文件替换至本地SDK路径下ets\3.x.x.x目录中

8.修改oh-uni-package.json配置文

修改oh-uni-package.json配置文件的version字段为当前SDK版本号

9.下载node_modules依赖包

3.x.x.x\build-tools\ets-loader目录中打开cmd/powerShell窗口,输入命令npm install下载node_modules依赖包

10.验证系统API接口

然后就可以使用了

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2023-3-3 17:24:45修改
3
收藏 1
回复
举报
4条回复
按时间正序
/
按时间倒序
martin_Hu
martin_Hu

下载代码容易EOF,下载了几天也没下完。。。有其他下载方式吗

回复
2023-3-21 10:19:11
鸿蒙坚果派
鸿蒙坚果派

每日构建

回复
2023-3-21 14:10:40
SummerRic
SummerRic 回复了 鸿蒙坚果派
每日构建

666

回复
2023-3-24 18:56:43
wx649a7d758d927
wx649a7d758d927 回复了 鸿蒙坚果派
每日构建

每日构建上下载的sdk,npm install后代码build不通过


回复
2023-6-27 14:12:26
回复
    相关推荐