鸿蒙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)
})

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

相关推荐
ONEDAY12 小时前
HarmonyOS 多 Product 构建实践:一套代码生成多个产物
harmonyos
TT_Close15 小时前
别劝退了!5秒搞定 Flutter 鸿蒙 FVM 起跑线
flutter·harmonyos·visual studio code
TrisighT16 小时前
ArkTS 列表滚动时为什么会闪现旧数据?我扒了 LazyForEach 的复用逻辑
harmonyos·arkts·arkui
MonkeyKing16 小时前
鸿蒙ArkTS深度剖析:ArkTS与TS/JS核心差异、静态强类型实战优势
typescript·harmonyos
TrisighT17 小时前
Electron鸿蒙PC上写日志文件,我被权限和路径坑了两次
electron·harmonyos
TrisighT2 天前
一个下午搞定 ArkTS 折叠面板?结果我从两点写到晚上九点
harmonyos·arkts·arkui
花椒技术4 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播
一维Ace5 天前
HarmonyOS ArkTS 按钮组件全解:Button、Toggle 状态交互实战
harmonyos
anyup6 天前
来简单聊聊鸿蒙开发,万元奖金的事~
前端·华为·harmonyos
Georgewu6 天前
【无测试机别害怕】华为云鸿蒙云手机南:从零到联调全流程详解
harmonyos