搭建鸿蒙+团结构建流水线
Jenkins安装Unity3d插件
在Jenkins指定安装路径(ManagerJenkins/Tools/Unity3d installations)时
需要指定团结的安装目录,例如:
C:\Program Files\Tuanjie\Hub\Editor\2022.3.48t7
这个目录是不含Editor目录的;定位到Editor/Tuanjie.exe,把Editor/Tuanjie.exe拷贝一份命名为Unity.exe,使得插件可以以Unity的方式运行。
使用Tuanjie进行构建
与Unity类型,在构建任务中,添加 Invoke Unity3d Editor步骤
然后指定Editor command line arguments,例如:
CustomArgsString -batchmode -quit -silent-crashes -projectPath d:\tuanjie -executeMethod Jenkins.BuildHarmony
[可选1]构建后处理脚本
可以为团结引擎添加构建后处理
#if UNITY_EDITOR && UNITY_OPENHARMONY
using System.Collections.Generic;
using UnityEngine;
// 团结-鸿蒙后处理
[UnityEditor.InitializeOnLoad]
public class BuildOpenHarmonyPost : UnityEditor.OpenHarmony.IPostGenerateOpenHarmonyProject
{
public int callbackOrder => 0;
public void OnPostGenerateOpenHarmonyProject(string outputDir)
{
var streamingAssetsDir= $"{outputDir}/src/main/resources/rawfile/Data/StreamingAssets/";
// 对输出的StreamingAssets目录进行后处理操作
}
}
#endif
[可选2]构建后处理操作
在BuildPipeline.BuildPlayer之后,可以拷入像SDK之类的文件
考虑可以拷入:
1、build-profile.json5中含有签名信息,可以直接拷过去使用(证书直接拷到根目录中,使用相对路径)
2、entry\src\main\module.json5 含有应用配置信息,可以直接拷过去使用
3、entry\src\main\ets\ability\中的ets文件,可以配置好拷过去
4、根目录的oh_modules模块,可以安装好拷过去
使用命令行构建
必要环境
DevEco Studio 5.0.4 Release, Build Version: 5.0.11.100, built on March 28, 2025;
Runtime version: 17.0.12+1-b1087.25 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
基于JDK17,所以系统的PATH路径中,一定要优先设置好JDK17,否则会编译失败;
命令行
CD到项目输出目录,执行以下命令
hvigorw assembleHap --mode module -p product=default -p buildMode=debug --no-daemon
签名
生成hap后,要签名,否则无法安装
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-command-line-building-app
需要把hap-sign-tool.jar这个文件拷到目录中,然后执行
java -jar hap-sign-tool.jar sign-app -keyAlias "xxx" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "xxx.cer" -profileFile "xxx.p7b" -inFile "entry/build/default/outputs/default/entry-default-unsigned.hap" -keystoreFile "xxx.p12" -outFile "entry/build/default/outputs/default/entry-default-signed.hap" -keyPwd "xxx" -keystorePwd "xxx" -signCode "1"
Post Link: 搭建鸿蒙+团结构建流水线