HarmonyOS鸿蒙Next中怎么给构建的产物hap重命名,名字里面带着构建类型、构建时间等信息
HarmonyOS鸿蒙Next中怎么给构建的产物hap重命名,名字里面带着构建类型、构建时间等信息 怎么给构建的产物hap重命名,名字里面带着构建类型、构建时间等信息
3 回复
在hvigorfile.ts里:使用下述代码可以实现构建的产物hap重命名
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["artifactName"] = "xxx-" + versionName + '_' + getTime() + '_' + appContext.getBuildMode(),
hapContext.setBuildProfileOpt(buildProfile)
}
})
function getTime(): string {
let date = new Date()
let year = date.getFullYear()
let month = (date.getMonth() + 1).toString().padStart(2, '0')
let day = date.getDate().toString().padStart(2, '0')
let hours = date.getHours().toString().padStart(2, '0')
let minutes = date.getMinutes().toString().padStart(2, '0')
return `${year}-${month}-${day}_${hours}_${minutes}`
}
export default {
system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
plugins: [] /* Custom plugin to extend the functionality of Hvigor. */
}
更多关于HarmonyOS鸿蒙Next中怎么给构建的产物hap重命名,名字里面带着构建类型、构建时间等信息的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,可以通过修改build.gradle
文件来自定义构建产物的名称,使其包含构建类型和构建时间等信息。具体步骤如下:
- 打开项目的
build.gradle
文件。 - 在
android
或harmony
配置块中,找到applicationVariants
或hapVariants
配置。 - 使用
outputFileName
属性来重命名生成的hap文件。可以通过variant.buildType.name
获取构建类型,使用new Date().format('yyyyMMdd_HHmmss')
获取当前时间。
示例代码如下:
android {
...
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "app_${variant.buildType.name}_${new Date().format('yyyyMMdd_HHmmss')}.hap"
}
}
}
或者对于HarmonyOS:
harmony {
...
hapVariants.all { variant ->
variant.outputs.all {
outputFileName = "app_${variant.buildType.name}_${new Date().format('yyyyMMdd_HHmmss')}.hap"
}
}
}
通过这种方式,生成的hap文件名称将包含构建类型和构建时间信息,例如app_debug_20231025_143000.hap
。
在HarmonyOS鸿蒙Next中,可以通过修改build.gradle
文件中的outputFileName
属性来实现hap产物的重命名。示例代码如下:
android {
...
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "MyApp_${variant.buildType.name}_${new Date().format('yyyyMMdd_HHmm')}.hap"
}
}
}
这段代码会将生成的hap文件命名为MyApp_<构建类型>_<构建时间>.hap
,例如MyApp_debug_20231012_1430.hap
。