From ae5ed4baeaa973faa4260dab7c6e5414580cd390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=BA=9A=E7=90=AA?= Date: Sat, 14 Sep 2024 14:42:34 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E9=B8=BF=E8=92=99v2?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/tutorial/harmony/dev-v2.md | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/docs/tutorial/harmony/dev-v2.md b/docs/tutorial/harmony/dev-v2.md index f835646dc..d9a375a4a 100644 --- a/docs/tutorial/harmony/dev-v2.md +++ b/docs/tutorial/harmony/dev-v2.md @@ -10,26 +10,27 @@ 3. 点击右上角 Sync Now,并等待 Sync 结束 -4. 打开鸿蒙项目文件 `/entry/src/main/ets/entryability`,增加uni-app sdk初始化逻辑 +4. 打开鸿蒙项目文件 `/entry/src/main/ets/entryability/EntryAbility.ets`,增加uni-app sdk初始化逻辑。这里引用了一个`distribute.json`文件,后续步骤中会讲解如何配置此文件。 ```ts import { UniEntryAbility, uni } from '@dcloudio/uni-app-runtime' import { initUniModules } from '../uni_modules/index.generated' import BuildProfile from 'BuildProfile' +import distribute from './distribute.json' initUniModules() export default class EntryAbility extends UniEntryAbility { constructor() { super('HBuilder', { - debug: BuildProfile.DEBUG + debug: BuildProfile.DEBUG, + distribute }) } } - ``` -## 集成小程序到项目内 +## 集成编译产物到项目内 1. 将uni_modules入口文件移动到`/entry/src/main/ets/uni_modules/index.generated.ets`, 如果目录不存在则需要手动创建 @@ -39,9 +40,11 @@ export default class EntryAbility extends UniEntryAbility { 2. 将uni_modules文件部署到鸿蒙工程内 -移动`dist/dev/app-harmony/uni_modules_packages`目录到鸿蒙项目`/uni_modules`目录 +移动`dist/dev/app-harmony/uni_modules_packages`目录下的模块目录到鸿蒙项目`/uni_modules`目录 + +![](https://web-ext-storage.dcloud.net.cn/uni-app/harmony/dev/20240914143945.jpg) -编译到鸿蒙时每个uni_module都会创建一个鸿蒙的静态库。对于静态库有两个概念需要区分一下。 +编译到鸿蒙时每个uts api的uni_module都会创建一个鸿蒙的静态库。对于静态库有两个概念需要区分一下。 - 静态库的module名称(如下称为moduleName),每个静态库的名称,只允许大小写字母加下划线组成 - 静态库的包名(如下称为packageName),静态库被import时的名称,类似npm包名 @@ -52,11 +55,7 @@ packageName规则较为简单,给uni_module名称前加上`@uni_modules`前缀 moduleName是在packageName的基础上生成的,移除@符号,将/替换为两个下划线,将-替换为一个下划线 -3. 将小程序打包出的资源(cli项目使用npm run build:app-harmony生成)拷贝到`/entry/src/main/resources/resfile/apps/HBuilder`目录。 - -![](https://web-ext-storage.dcloud.net.cn/uni-app/harmony/dev/1725101625314.jpg) - -4. 修改鸿蒙项目`oh-package.json5` +3. 修改鸿蒙项目`oh-package.json5` 为所有uni_module注册packageName。 @@ -66,7 +65,7 @@ moduleName是在packageName的基础上生成的,移除@符号,将/替换为 "@uni_modules/uni-getBatteryInfo": "./uni_modules/uni-getBatteryInfo" ``` -5. 修改鸿蒙项目`build-profile.json5` +4. 修改鸿蒙项目`build-profile.json5` 为所有uni_module注册moduleName。 @@ -77,4 +76,12 @@ moduleName是在packageName的基础上生成的,移除@符号,将/替换为 "name": "uni_modules__uni_getBatteryInfo", "srcPath": "./uni_modules/uni-getBatteryInfo" } -``` \ No newline at end of file +``` + +5. 将生成资源内的`dist/dev/app-harmony/manifest.json`的distribute节点移动到鸿蒙项目`/entry/src/main/ets/entryability/distribute.json`内。与鸿蒙无关的信息可自行移除 + +![](https://web-ext-storage.dcloud.net.cn/uni-app/harmony/dev/20240914143236.jpg) + +6. 将小程序打包出的资源(cli项目使用npm run build:app-harmony生成)拷贝到`/entry/src/main/resources/resfile/apps/HBuilder`目录(**注意是resfile不是rawfile**)。 + +![](https://web-ext-storage.dcloud.net.cn/uni-app/harmony/dev/20240914143649.jpg) \ No newline at end of file -- GitLab