使用约束
- 闭源HAR仅支持API 9的Stage工程。
- HAR包不支持在
module.json5
中配置ability
、extension
组件。 - HAR包不支持pages路由配置。
- HAR包自身的构建打包不支持本地的依赖项(本地的har包)。
操作步骤
步骤 1
新建工程时选择API 9的Stage模型,工程创建完成后,新建“Static Library”模块。
步骤 2
编写代码。
library // HAR根目录
├─libs// 存放用户自定义引用的Native库,一般为.so文件
└─src
│└─main
│├─cpp
│ │├─types // 定义Native API对外暴露的接口
││ │ └─liblibrary
││ │ ├─index.d.ts
││ │ └─package.json
││ ├─CMakeLists.txt // CMake配置文件
││ └─npmlib.cpp // C++源码文件
│└─ets // ArkTS源码目录
││ └─components
││ └─mainpage
││ └─MainPage.ets
│├─resources // 资源目录,用于存放资源文件,如图片、多媒体、字符串等
│└─module.json5 // 模块配置文件,包含当前HAR的配置信息
├─build-profile.json5 // Hvigor编译构建所需的配置文件,包含编译选项
├─hvigorfile.ts // Hvigor构建脚本文件,包含构建当前模块的插件、自定义任务等
├─index.ets // HAR的入口文件,一般作为出口定义HAR对外提供的函数、组件等
└─oh-package.json5 // HAR的描述文件,定义HAR的基本信息、依赖项等
步骤 3
在oh-package.json5
中“main”字段定义导出文件入口。若不设置“main”字段,默认以当前目录下index.ets
为入口文件,依据.ets>.ts>.js
的顺序依次检索。以将ets/components/mainpage/MainPage.ets
文件设置为入口文件为例:
{
"main": "./src/main/ets/components/mainpage/MainPage.ets",
}
步骤 4
在当前HAR模块的build-profile.json5
中,将artifactType
字段值设置为obfuscation
。
"apiType": 'stageMode',
"buildOption":
{
"artifactType": "obfuscation", // 定义产物类型,obfuscation表示为使用混淆模式
}
步骤 5
选中HAR模块的根目录,点击Build > Make Module '<module-name>'启动构建。
构建完成后,build
目录下生成闭源HAR包产物。
更多关于HarmonyOS 鸿蒙Next如何构建闭源HAR的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙Next)中,构建闭源HAR(HarmonyOS Archive)可以通过以下步骤实现:
-
创建HAR模块:在DevEco Studio中,选择“File” -> “New” -> “Module”,然后选择“HarmonyOS Library”来创建一个新的HAR模块。
-
编写代码:在创建的HAR模块中编写所需的代码和资源文件。确保代码和资源文件符合HarmonyOS的开发规范。
-
配置HAR模块:在
build.gradle
文件中配置HAR模块的相关信息,包括模块名称、版本号、依赖项等。确保build.gradle
文件中的har
插件已启用。 -
构建HAR:在DevEco Studio中,选择“Build” -> “Make Module”来构建HAR模块。构建成功后,会在
build/outputs/har
目录下生成.har
文件。 -
闭源处理:为了确保HAR模块的闭源性,可以在构建过程中对代码进行混淆和加密。使用ProGuard等工具对代码进行混淆,确保源代码不易被反编译。
-
发布HAR:将生成的
.har
文件发布到指定的仓库或分发给其他开发者使用。确保在发布时提供必要的文档和说明,以便其他开发者能够正确使用该HAR模块。
通过以上步骤,可以在HarmonyOS中构建闭源HAR模块,并确保其安全性和可复用性。
在HarmonyOS鸿蒙Next中构建闭源HAR(HarmonyOS Archive)的步骤如下:
- 创建HAR模块:在DevEco Studio中新建一个HAR模块,选择“Library”类型。
- 编写代码:在HAR模块中编写所需的业务逻辑和功能代码。
- 配置闭源:在
build.gradle
文件中设置publishNonPublic
为false
,确保内部API不对外暴露。 - 构建HAR:使用Gradle任务
assemble
或build
生成HAR文件,文件位于build/outputs/har/
目录下。 - 分发HAR:将生成的HAR文件提供给其他开发者使用,确保其无法访问内部实现。