diff --git a/versions/2.4/zh/publish/publish-harmonyos-next.md b/versions/2.4/zh/publish/publish-harmonyos-next.md index 01ef72d70..1e9cef0d1 100644 --- a/versions/2.4/zh/publish/publish-harmonyos-next.md +++ b/versions/2.4/zh/publish/publish-harmonyos-next.md @@ -1,6 +1,6 @@ # 发布到 HarmonyOS Next 应用 -自 Cocos Creator v2.4.12 起,支持发布到 **HarmonyOS Next** 平台。 +自 Cocos Creator v2.4.14 起,支持发布到 **HarmonyOS Next** 平台。 ## 安装 DevEco Studio @@ -8,7 +8,7 @@
-2. 解压目录,双击进行安装,点击 next,如下步骤: +2. 解压目录,双击进行安装,点击 Next,如下步骤:

diff --git a/versions/2.4/zh/publish/publish-openharmony.md b/versions/2.4/zh/publish/publish-openharmony.md index 01ef72d70..1e9cef0d1 100644 --- a/versions/2.4/zh/publish/publish-openharmony.md +++ b/versions/2.4/zh/publish/publish-openharmony.md @@ -1,6 +1,6 @@ # 发布到 HarmonyOS Next 应用 -自 Cocos Creator v2.4.12 起,支持发布到 **HarmonyOS Next** 平台。 +自 Cocos Creator v2.4.14 起,支持发布到 **HarmonyOS Next** 平台。 ## 安装 DevEco Studio @@ -8,7 +8,7 @@
-2. 解压目录,双击进行安装,点击 next,如下步骤: +2. 解压目录,双击进行安装,点击 Next,如下步骤:

diff --git a/versions/3.8/zh/editor/publish/google-play/images/new-build-task.png b/versions/3.8/zh/editor/publish/google-play/images/new-build-task.png new file mode 100644 index 000000000..87f61e004 Binary files /dev/null and b/versions/3.8/zh/editor/publish/google-play/images/new-build-task.png differ diff --git a/versions/3.8/zh/editor/publish/publish-harmonyos-next.md b/versions/3.8/zh/editor/publish/publish-harmonyos-next.md index 8159e846d..be96c8190 100644 --- a/versions/3.8/zh/editor/publish/publish-harmonyos-next.md +++ b/versions/3.8/zh/editor/publish/publish-harmonyos-next.md @@ -1,19 +1,11 @@ # 发布到 HarmonyOS Next -自 Cocos Creator v3.8 起,支持发布到 HarmonyOS Next 平台。 - -## 支持情况 - -| 引擎版本 | HarmonyOS Next 版本 | 说明 | -| :-- | :-- | :-- | -| v3.6.1 ~ v3.7.3 | OpenHarmony 3.2 beta | 该版本在社区公测,因此无法从 Dashboard 直接下载,开发者请从 [社区下载](https://forum.cocos.org/t/topic/141299) | -| v3.8 | OpenHarmony 3.2,OpenHarmony 4.0 | 正式版,开发者可以选择从 Dashboard 中直接下载该编辑器版本。 | -| v3.8.5 | HarmonyOS Next | 正式版,开发者可以选择从 Dashboard 中直接下载该编辑器版本。 | - -如果您使用的引擎版本低于 v3.8,我们建议您升级到 v3.8 方便发布正式版。 +自 Cocos Creator v3.8.5 起,支持发布到 HarmonyOS Next 平台。 ## 准备工作 + ### 安装最新的Creator + 1. Cocos Creator 下载传送门(版本>=3.8.5):[Cocos Creator](https://www.cocos.com/creator-download) ### 安装 DevEco Studio @@ -22,15 +14,15 @@ ![](./publish-openharmony/document_image_rId3.png) -2. 解压目录,双击 deveco-studio-5.0.5.310.exe 进行安装,点击 next,如下图: +2. 解压目录,双击 deveco-studio-5.0.5.310.exe 进行安装,点击 Next,如下图: ![](./publish-openharmony/document_image_rId33.png) -3. 选择安装路径,点 next,如下图: +3. 选择安装路径,点 Next,如下图: ![](./publish-openharmony/document_image_rId34.png) -4. 根据需求配置,点击 next,如下图: +4. 根据需求配置,点击 Next,如下图: ![](./publish-openharmony/document_image_rId35.png) @@ -46,7 +38,7 @@ ![](./publish-openharmony/document_image_rId38.png) -8. 启动DevEco Studio,如下图: +8. 启动 DevEco Studio,如下图: ![](./publish-openharmony/document_image_rId39.png) @@ -66,7 +58,7 @@ ![](./publish-openharmony/document_image_rId43.png) -13. 确认版本信息,点击 next,如下图: +13. 确认版本信息,点击 Next,如下图: ![](./publish-openharmony/document_image_rId45.png) @@ -79,6 +71,7 @@ ![](./publish-openharmony/document_image_rId47.png) ### Creator构建HarmonyOS Next工程 + 1. 选择工程的目录,以下以 [cocos-test-projects](https://github.com/cocos/cocos-test-projects/tree/v3.8) 为例,如下图: ![](./publish-openharmony/document_image_rId53.png) @@ -101,36 +94,47 @@ ![](./publish-openharmony/document_image_rId57.png) -7. 配置工程名称、配置开始场景与包含的其他场景,配置Debug/Release,点击 build,如下图: +7. 配置工程名称、配置开始场景与包含的其他场景,配置 Debug/Release,点击 Build,如下图: ![](./publish-openharmony/document_image_rId58.png) -8. 目前Make与Run功能还未实现,请使用DevEco打开工程 +8. 目前Make与Run功能还未实现,请使用 DevEco 打开工程 ![](./publish-openharmony/document_image_rId59.png) -## HarmonyOS Next系统接口与Cocos交互 +## HarmonyOS Next 系统接口与 Cocos 交互 + [基于反射机制实现 JavaScript 与 HarmonyOS Next 系统原生通信](../../advanced-topics/arkts-reflection.md) -目前cocos与ark是分两个线程的,一个是UI线程,跑的是ark引擎,另一个是worker线程,可以跑ark/v8引擎。所以这里要分两种情况: -### cocos使用ark 引擎 -这样globalThis与cocos的globalThis是一致的,也就是说给globalThis赋值,在cocos上可以直接使用globalThis获取。 -参考实现(构建HarmonyOS Next工程,使用deveco打开工程,查看:entry/src/main/ets/cocos/oh-adapter/sys-ability-polyfill文件的实现): -``` +目前 Cocos 与 Ark 是分两个线程的,一个是 UI 线程,跑的是 Ark 引擎,另一个是 worker 线程,可以跑 Ark/V8 引擎。 + +所以这里要分两种情况: + +### Cocos 使用 Ark 引擎 + +这样 globalThis 与 Cocos 的 globalThis 是一致的,也就是说给 globalThis 赋值,在 Cocos 上可以直接使用 globalThis 获取。 + +参考实现(构建 HarmonyOS Next 工程,使用 DevEco 打开工程,查看:entry/src/main/ets/cocos/oh-adapter/sys-ability-polyfill文件的实现): + +```ts globalThis.getSystemLanguage = function () { return i18n.getSystemLanguage(); } +``` -在cocos上,可以直接使用 +在 Cocos 上,可以直接使用: + +```ts globalThis.getSystemLanguage(); ``` -但是并不是所有的接口都可以这样封装,由于部分HarmonyOS Next的系统接口是只能在UI线程上使用的,例如tts与asr等接口;还有些UI操作相关的接口,例如editbox,video等。 +但是并不是所有的接口都可以这样封装,由于部分 HarmonyOS Next 的系统接口是只能在 UI 线程上使用的,例如 tts 与 asr 等接口;还有些 UI 操作相关的接口,例如 Editbox、Video 等。 这样必须使用进程间的通信机制来完成 -cocos封装了一个类,名为ProxyPort类,这个是个公共类,同时可以在ui线程与worker线程上使用。可以通过使用proxyport接口互相发送消息。例如,在ui线程上(即ets布局文件与ability等文件)使用: -``` +Cocos 封装了一个类,名为 ProxyPort 类,这个是个公共类,同时可以在 ui 线程与 worker 线程上使用。可以通过使用 ProxyPort 接口互相发送消息。例如,在 ui 线程上(即 ets 布局文件与 ability 等文件)使用: + +```ts // entry/src/main/ets/pages/index.ets文件 // 监听从worker上发送的消息,即cocos发送的消息; this.workPort.on('createWebview', (param: number)=> { @@ -159,17 +163,19 @@ uiPort.on("onVideoEvent", (param) => { ``` -### cocos使用V8引擎 -使用V8,则不能使用globalThis来进行互相调用,因为globalThis已经是两个不同的东西; +### Cocos使用 V8 引擎 + +使用 V8,则不能使用 globalThis 来进行互相调用,因为 globalThis 已经是两个不同的东西; 因此需要交互的话,需要通过native进行绑定。 绑定分为两个部分: -- ark通过napi接口与native进行绑定; -- V8通过接口绑定到native -这样就可以在native里进行互相调用; -例如: -``` +- Ark 通过 napi 接口与 native 进行绑定; +- V8 通过接口绑定到 native + +这样就可以在native里进行互相调用,例如: + +```ts // entry/src/main/ets/cocos/oh-adapter/sys-ability-polyfill文件的实现 globalThis.getSystemLanguage = function () { return i18n.getSystemLanguage(); @@ -177,9 +183,9 @@ globalThis.getSystemLanguage = function () { ``` -在native里: +在 native 里: -``` +```c++ // getCurrentLanguageCode是js上的jsb.__getCurrentLanguageCode的实现 std::string System::getCurrentLanguageCode() const { // 通过napi调用ark引擎上的getSystemLanguage接口 @@ -196,17 +202,13 @@ std::string System::getCurrentLanguageCode() const { } ``` - - - ## 几个注意事项 -另外,因为 HarmonyOS Next 还在不断完善当中,因此有些已知问题。这些问题都会在后续的版本解决。 -1. 目前已知问题是: - - restart 目前还未有方案; - - 编译失败时,可能是内存不足导致,退出部分应用,重新 build 试试; - >> - >> ![](./publish-openharmony/document_image_rId72.png) - - 更新IDE,编译报错,如下图: - >> ![](./publish-openharmony/document_image_rId75.png) +另外,因为 HarmonyOS Next 还在不断完善当中,因此有些已知问题。这些问题都会在后续的版本解决。 +- Restart 目前还未有方案; +- 编译失败时,可能是内存不足导致,退出部分应用,重新 build 试试; + >> + >> ![](./publish-openharmony/document_image_rId72.png) +- 更新IDE,编译报错,如下图: + >> ![](./publish-openharmony/document_image_rId75.png) \ No newline at end of file diff --git a/versions/3.8/zh/editor/publish/publish-openharmony.md b/versions/3.8/zh/editor/publish/publish-openharmony.md index 8159e846d..51f30adb5 100644 --- a/versions/3.8/zh/editor/publish/publish-openharmony.md +++ b/versions/3.8/zh/editor/publish/publish-openharmony.md @@ -1,19 +1,11 @@ # 发布到 HarmonyOS Next -自 Cocos Creator v3.8 起,支持发布到 HarmonyOS Next 平台。 - -## 支持情况 - -| 引擎版本 | HarmonyOS Next 版本 | 说明 | -| :-- | :-- | :-- | -| v3.6.1 ~ v3.7.3 | OpenHarmony 3.2 beta | 该版本在社区公测,因此无法从 Dashboard 直接下载,开发者请从 [社区下载](https://forum.cocos.org/t/topic/141299) | -| v3.8 | OpenHarmony 3.2,OpenHarmony 4.0 | 正式版,开发者可以选择从 Dashboard 中直接下载该编辑器版本。 | -| v3.8.5 | HarmonyOS Next | 正式版,开发者可以选择从 Dashboard 中直接下载该编辑器版本。 | - -如果您使用的引擎版本低于 v3.8,我们建议您升级到 v3.8 方便发布正式版。 +自 Cocos Creator v3.8.5 起,支持发布到 HarmonyOS Next 平台。 ## 准备工作 + ### 安装最新的Creator + 1. Cocos Creator 下载传送门(版本>=3.8.5):[Cocos Creator](https://www.cocos.com/creator-download) ### 安装 DevEco Studio @@ -22,15 +14,15 @@ ![](./publish-openharmony/document_image_rId3.png) -2. 解压目录,双击 deveco-studio-5.0.5.310.exe 进行安装,点击 next,如下图: +2. 解压目录,双击 deveco-studio-5.0.5.310.exe 进行安装,点击 Next,如下图: ![](./publish-openharmony/document_image_rId33.png) -3. 选择安装路径,点 next,如下图: +3. 选择安装路径,点 Next,如下图: ![](./publish-openharmony/document_image_rId34.png) -4. 根据需求配置,点击 next,如下图: +4. 根据需求配置,点击 Next,如下图: ![](./publish-openharmony/document_image_rId35.png) @@ -46,7 +38,7 @@ ![](./publish-openharmony/document_image_rId38.png) -8. 启动DevEco Studio,如下图: +8. 启动 DevEco Studio,如下图: ![](./publish-openharmony/document_image_rId39.png) @@ -66,7 +58,7 @@ ![](./publish-openharmony/document_image_rId43.png) -13. 确认版本信息,点击 next,如下图: +13. 确认版本信息,点击 Next,如下图: ![](./publish-openharmony/document_image_rId45.png) @@ -79,6 +71,7 @@ ![](./publish-openharmony/document_image_rId47.png) ### Creator构建HarmonyOS Next工程 + 1. 选择工程的目录,以下以 [cocos-test-projects](https://github.com/cocos/cocos-test-projects/tree/v3.8) 为例,如下图: ![](./publish-openharmony/document_image_rId53.png) @@ -101,36 +94,47 @@ ![](./publish-openharmony/document_image_rId57.png) -7. 配置工程名称、配置开始场景与包含的其他场景,配置Debug/Release,点击 build,如下图: +7. 配置工程名称、配置开始场景与包含的其他场景,配置 Debug/Release,点击 Build,如下图: ![](./publish-openharmony/document_image_rId58.png) -8. 目前Make与Run功能还未实现,请使用DevEco打开工程 +8. 目前Make与Run功能还未实现,请使用 DevEco 打开工程 ![](./publish-openharmony/document_image_rId59.png) -## HarmonyOS Next系统接口与Cocos交互 +## HarmonyOS Next 系统接口与 Cocos 交互 + [基于反射机制实现 JavaScript 与 HarmonyOS Next 系统原生通信](../../advanced-topics/arkts-reflection.md) -目前cocos与ark是分两个线程的,一个是UI线程,跑的是ark引擎,另一个是worker线程,可以跑ark/v8引擎。所以这里要分两种情况: -### cocos使用ark 引擎 -这样globalThis与cocos的globalThis是一致的,也就是说给globalThis赋值,在cocos上可以直接使用globalThis获取。 -参考实现(构建HarmonyOS Next工程,使用deveco打开工程,查看:entry/src/main/ets/cocos/oh-adapter/sys-ability-polyfill文件的实现): -``` +目前 Cocos 与 Ark 是分两个线程的,一个是 UI 线程,跑的是 Ark 引擎,另一个是 worker 线程,可以跑 Ark/V8 引擎。 + +所以这里要分两种情况: + +### Cocos 使用 Ark 引擎 + +这样 globalThis 与 Cocos 的 globalThis 是一致的,也就是说给 globalThis 赋值,在 Cocos 上可以直接使用 globalThis 获取。 + +参考实现(构建 HarmonyOS Next 工程,使用 DevEco 打开工程,查看:entry/src/main/ets/cocos/oh-adapter/sys-ability-polyfill文件的实现): + +```ts globalThis.getSystemLanguage = function () { return i18n.getSystemLanguage(); } +``` -在cocos上,可以直接使用 +在 Cocos 上,可以直接使用: + +```ts globalThis.getSystemLanguage(); ``` -但是并不是所有的接口都可以这样封装,由于部分HarmonyOS Next的系统接口是只能在UI线程上使用的,例如tts与asr等接口;还有些UI操作相关的接口,例如editbox,video等。 +但是并不是所有的接口都可以这样封装,由于部分 HarmonyOS Next 的系统接口是只能在 UI 线程上使用的,例如 tts 与 asr 等接口;还有些 UI 操作相关的接口,例如 Editbox、Video 等。 这样必须使用进程间的通信机制来完成 -cocos封装了一个类,名为ProxyPort类,这个是个公共类,同时可以在ui线程与worker线程上使用。可以通过使用proxyport接口互相发送消息。例如,在ui线程上(即ets布局文件与ability等文件)使用: -``` +Cocos 封装了一个类,名为 ProxyPort 类,这个是个公共类,同时可以在 ui 线程与 worker 线程上使用。可以通过使用 ProxyPort 接口互相发送消息。例如,在 ui 线程上(即 ets 布局文件与 ability 等文件)使用: + +```ts // entry/src/main/ets/pages/index.ets文件 // 监听从worker上发送的消息,即cocos发送的消息; this.workPort.on('createWebview', (param: number)=> { @@ -159,17 +163,19 @@ uiPort.on("onVideoEvent", (param) => { ``` -### cocos使用V8引擎 -使用V8,则不能使用globalThis来进行互相调用,因为globalThis已经是两个不同的东西; +### Cocos使用 V8 引擎 + +使用 V8,则不能使用 globalThis 来进行互相调用,因为 globalThis 已经是两个不同的东西; 因此需要交互的话,需要通过native进行绑定。 绑定分为两个部分: -- ark通过napi接口与native进行绑定; -- V8通过接口绑定到native -这样就可以在native里进行互相调用; -例如: -``` +- Ark 通过 napi 接口与 native 进行绑定; +- V8 通过接口绑定到 native + +这样就可以在native里进行互相调用,例如: + +```ts // entry/src/main/ets/cocos/oh-adapter/sys-ability-polyfill文件的实现 globalThis.getSystemLanguage = function () { return i18n.getSystemLanguage(); @@ -177,9 +183,9 @@ globalThis.getSystemLanguage = function () { ``` -在native里: +在 native 里: -``` +```c++ // getCurrentLanguageCode是js上的jsb.__getCurrentLanguageCode的实现 std::string System::getCurrentLanguageCode() const { // 通过napi调用ark引擎上的getSystemLanguage接口 @@ -196,17 +202,13 @@ std::string System::getCurrentLanguageCode() const { } ``` - - - ## 几个注意事项 -另外,因为 HarmonyOS Next 还在不断完善当中,因此有些已知问题。这些问题都会在后续的版本解决。 -1. 目前已知问题是: - - restart 目前还未有方案; - - 编译失败时,可能是内存不足导致,退出部分应用,重新 build 试试; - >> - >> ![](./publish-openharmony/document_image_rId72.png) - - 更新IDE,编译报错,如下图: - >> ![](./publish-openharmony/document_image_rId75.png) +另外,因为 HarmonyOS Next 还在不断完善当中,因此有些已知问题。这些问题都会在后续的版本解决。 +- Restart 目前还未有方案; +- 编译失败时,可能是内存不足导致,退出部分应用,重新 build 试试; + >> + >> ![](./publish-openharmony/document_image_rId72.png) +- 更新IDE,编译报错,如下图: + >> ![](./publish-openharmony/document_image_rId75.png) diff --git a/versions/3.8/zh/summary.json b/versions/3.8/zh/summary.json index 15c1ebd44..a44630399 100644 --- a/versions/3.8/zh/summary.json +++ b/versions/3.8/zh/summary.json @@ -192,6 +192,10 @@ { "text": "升级指南:粒子从 v3.5.x 升级到 v3.6.0", "link": "particle-system/particle-upgrade-documentation-for-v3.5-to-v3.6.md" + }, + { + "text": "v3.8 Android 工程升级", + "link": "release-notes/upgrade-3.8-android.md" } ], "collapsed": true @@ -516,6 +520,10 @@ ], "collapsed": true }, + { + "text": "发布 Google Play 示例", + "link": "editor/publish/google-play/build-example-google-play.md" + }, { "text": "发布到谷歌 GPG 平台", "link": "editor/publish/google-play-games/index.md",