Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
ae5ed4ba
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3172
Star
105
Fork
804
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
93
列表
看板
标记
里程碑
合并请求
67
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
93
Issue
93
列表
看板
标记
里程碑
合并请求
67
合并请求
67
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
ae5ed4ba
编写于
9月 14, 2024
作者:
雪洛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: 更新鸿蒙v2开发文档
上级
e358066a
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
20 addition
and
13 deletion
+20
-13
docs/tutorial/harmony/dev-v2.md
docs/tutorial/harmony/dev-v2.md
+20
-13
未找到文件。
docs/tutorial/harmony/dev-v2.md
浏览文件 @
ae5ed4ba
...
@@ -10,26 +10,27 @@
...
@@ -10,26 +10,27 @@
3.
点击右上角 Sync Now,并等待 Sync 结束
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
```
ts
import
{
UniEntryAbility
,
uni
}
from
'
@dcloudio/uni-app-runtime
'
import
{
UniEntryAbility
,
uni
}
from
'
@dcloudio/uni-app-runtime
'
import
{
initUniModules
}
from
'
../uni_modules/index.generated
'
import
{
initUniModules
}
from
'
../uni_modules/index.generated
'
import
BuildProfile
from
'
BuildProfile
'
import
BuildProfile
from
'
BuildProfile
'
import
distribute
from
'
./distribute.json
'
initUniModules
()
initUniModules
()
export
default
class
EntryAbility
extends
UniEntryAbility
{
export
default
class
EntryAbility
extends
UniEntryAbility
{
constructor
()
{
constructor
()
{
super
(
'
HBuilder
'
,
{
super
(
'
HBuilder
'
,
{
debug
:
BuildProfile
.
DEBUG
debug
:
BuildProfile
.
DEBUG
,
distribute
})
})
}
}
}
}
```
```
## 集成
小程序
到项目内
## 集成
编译产物
到项目内
1.
将uni_modules入口文件移动到
`/entry/src/main/ets/uni_modules/index.generated.ets`
, 如果目录不存在则需要手动创建
1.
将uni_modules入口文件移动到
`/entry/src/main/ets/uni_modules/index.generated.ets`
, 如果目录不存在则需要手动创建
...
@@ -39,9 +40,11 @@ export default class EntryAbility extends UniEntryAbility {
...
@@ -39,9 +40,11 @@ export default class EntryAbility extends UniEntryAbility {
2.
将uni_modules文件部署到鸿蒙工程内
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都会创建一个鸿蒙的静态库。对于静态库有两个概念需要区分一下。
编译到鸿蒙时每个u
ts api的u
ni_module都会创建一个鸿蒙的静态库。对于静态库有两个概念需要区分一下。
-
静态库的module名称(如下称为moduleName),每个静态库的名称,只允许大小写字母加下划线组成
-
静态库的module名称(如下称为moduleName),每个静态库的名称,只允许大小写字母加下划线组成
-
静态库的包名(如下称为packageName),静态库被import时的名称,类似npm包名
-
静态库的包名(如下称为packageName),静态库被import时的名称,类似npm包名
...
@@ -52,11 +55,7 @@ packageName规则较为简单,给uni_module名称前加上`@uni_modules`前缀
...
@@ -52,11 +55,7 @@ packageName规则较为简单,给uni_module名称前加上`@uni_modules`前缀
moduleName是在packageName的基础上生成的,移除@符号,将/替换为两个下划线,将-替换为一个下划线
moduleName是在packageName的基础上生成的,移除@符号,将/替换为两个下划线,将-替换为一个下划线
3.
将小程序打包出的资源(cli项目使用npm run build:app-harmony生成)拷贝到
`/entry/src/main/resources/resfile/apps/HBuilder`
目录。
3.
修改鸿蒙项目
`oh-package.json5`
![](
https://web-ext-storage.dcloud.net.cn/uni-app/harmony/dev/1725101625314.jpg
)
4.
修改鸿蒙项目
`oh-package.json5`
为所有uni_module注册packageName。
为所有uni_module注册packageName。
...
@@ -66,7 +65,7 @@ moduleName是在packageName的基础上生成的,移除@符号,将/替换为
...
@@ -66,7 +65,7 @@ moduleName是在packageName的基础上生成的,移除@符号,将/替换为
"@uni_modules/uni-getBatteryInfo"
:
"./uni_modules/uni-getBatteryInfo"
"@uni_modules/uni-getBatteryInfo"
:
"./uni_modules/uni-getBatteryInfo"
```
```
5
.
修改鸿蒙项目
`build-profile.json5`
4
.
修改鸿蒙项目
`build-profile.json5`
为所有uni_module注册moduleName。
为所有uni_module注册moduleName。
...
@@ -78,3 +77,11 @@ moduleName是在packageName的基础上生成的,移除@符号,将/替换为
...
@@ -78,3 +77,11 @@ moduleName是在packageName的基础上生成的,移除@符号,将/替换为
"srcPath"
:
"./uni_modules/uni-getBatteryInfo"
"srcPath"
:
"./uni_modules/uni-getBatteryInfo"
}
}
```
```
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
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录