HarmonyOS 鸿蒙Next 打包出来的APP文件名怎么带版本号

发布于 1周前 作者 htzhanglong 最后一次编辑是 5天前 来自 鸿蒙OS

目前通过修改hvigorfile.ts,修改了打包出来的hap名称,可以带版本号,打包出来的app怎么带版本号?

import { hapTasks, OhosHapContext, OhosPluginId } from '@ohos/hvigor-ohos-plugin';
import { getNode } from '@ohos/hvigor'
import { hvigor } from '@ohos/hvigor'

const entryNode = getNode(__filename)
const appContext = hvigor.getRootNode().getContext(OhosPluginId.OHOS_APP_PLUGIN) as OhosAppContext
const appJsonOpt = appContext.getAppJsonOpt()
const versionName = appJsonOpt['app']['versionName']
entryNode.afterNodeEvaluate(node => {
    const hapContext = node.getContext(OhosPluginId.OHOS_HAP_PLUGIN) as OhosHapContext
    if (hapContext && hapContext.getBuildProfileOpt) {
        const buildProfile = hapContext.getBuildProfileOpt()
        const product = buildProfile.targets[0]
        product['output'] = {
            "artifactName": "****" + versionName,
        }
        hapContext.setBuildProfileOpt(buildProfile)
    }
})

export default {
    system: hapTasks,  /* Built-in plugin of Hvigor. It cannot be modified. */
    plugins:[]         /* Custom plugin to extend the functionality of Hvigor. */
}

更多关于HarmonyOS 鸿蒙Next 打包出来的APP文件名怎么带版本号的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在工程级的hvigorfile文件里修改一下

import { appTasks , OhosPluginId} from '@ohos/hvigor-ohos-plugin';
import { hvigor } from '@ohos/hvigor'
hvigor.afterNodeEvaluate((hvigorNode)=>{
    const context = hvigorNode.getContext(OhosPluginId.OHOS_APP_PLUGIN)
    if (context && context.getBuildProfileOpt) {
        const buildProfile = context.getBuildProfileOpt();
        const products = buildProfile.app.products;
        for (const product of products) {
            if (product.name === context.getCurrentProduct().productBuildOpt.name) {
                product['output']={
                    "artifactName": "app-v1.0.3"
                }
            }
        }
        context.setBuildProfileOpt(buildProfile);
    }
})
export default {
    system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
    plugins:[] /* Custom plugin to extend the functionality of Hvigor. */
}

更多关于HarmonyOS 鸿蒙Next 打包出来的APP文件名怎么带版本号的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,打包出来的APP文件名默认是不包含版本号的。如果你希望在文件名中包含版本号,通常需要在打包过程中手动设置或者通过构建脚本实现。

HarmonyOS应用打包工具(如hbuild或DevEco Studio)在生成APK或HAP文件时,会按照指定的输出格式生成文件名,通常仅包含应用包名和基础文件名,而不包含版本号。版本号信息会嵌入到APK或HAP文件内部的manifest文件中。

要在文件名中包含版本号,你可以采取以下步骤:

  1. 修改构建脚本:在构建脚本(如build.gradle或pom.xml等,具体取决于你使用的构建工具)中,添加自定义任务来修改生成的APK或HAP文件名,使其包含版本号。这通常涉及到获取项目的版本号信息,并将其格式化为文件名的一部分。

  2. 使用命令行工具:在构建过程结束后,使用命令行工具(如shell脚本或批处理脚本)来重命名生成的APK或HAP文件,将版本号添加到文件名中。

请注意,以上操作可能会影响应用的签名和验证过程,因为修改文件名会改变文件的哈希值。确保在修改文件名后重新进行签名和验证。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!