鸿蒙os 配置打包后的文件名称

为了方便区分和记录打包后的文件,一般将版本号,产品类型,渠道类型等添加到打包后的文件名称中,在鸿蒙os中,为了实现该功能,需要在项目的根目录下的 hvigorfile.ts 文件下添加如下代码:

typescript 复制代码
export default {
  system: appTasks,
  plugins: []
}

const node = getNode(__filename)
hvigor.nodesEvaluated(() => {
  const appContext = hvigor.getRootNode().getContext(OhosPluginId.OHOS_APP_PLUGIN) as OhosAppContext

  const appJsonOpt = appContext.getAppJsonOpt()
  const versionName = appJsonOpt.app.versionName
  const versionCode = appJsonOpt.app.versionCode

  const extParams = hvigor.getParameter().getExtParams()
  // 获取构建模式
  const buildMode = extParams['buildMode'] || 'debug'
  const buildProfileOpt = appContext.getBuildProfileOpt()
  const products = buildProfileOpt.app.products;

  products.forEach((product: any) => {
    product.output = product.output || {};
    product.output.artifactName = `APP_V${versionName}_${versionCode}_${buildMode}`
  })

  appContext.setBuildProfileOpt(buildProfileOpt)
})

如果还需要添加其他内容的话,可以自行研究添加

相关推荐
hunterandroid8 分钟前
HarmonyOS HUKS 密钥全生命周期实战:生成、轮换与失效处理
前端·华为
威哥爱编程30 分钟前
HarmonyOS 7 Agent 开发实战 01:云端大模型 API 接入底座
agent·harmonyos
程序猿追11 小时前
kotlin-retry 接入鸿蒙后,怎样确认它真的会停止重试
开发语言·kotlin·harmonyos
懿路向前15 小时前
HarmonyOS 粒子特效实战:emitter.size 是双刃剑:粒子精确定位 [0,0] 与条带随机出生(HarmonyOS)
华为·harmonyos
马剑威(威哥爱编程)15 小时前
【共创稿事节】HarmonyOS 7 Agent 开发实战 04:云端 RAG 搭企业私有知识库问答
人工智能·华为·harmonyos
贾伟康16 小时前
【晨迹相机|20】HarmonyOS ArkTS AppGallery 发布复查实战:核对包名、版本、设备、素材和离线声明
harmonyos·arkts·appgallery·发布审核·上架复查
特立独行的猫a17 小时前
用仓颉写桌面应用:从 npx 建工程到串口实时示波器
开源·harmonyos·tauri·仓颉·cj-tarui
m0_6855350818 小时前
光学设计自学
华为·光学·光学设计·光学工程·镜头设计
懿路向前18 小时前
HarmonyOS 粒子特效实战:马赛克切块提速 17.6×~38×:desiredRegion 重复读盘与一次解码管线(HarmonyOS)
华为·harmonyos
垆边人似月.19 小时前
华为题:LRU 缓存
缓存·华为