使用Android Studio给打包的APK命名

本文介绍如何在Android Studio中定制化应用模块与库模块的打包命名规则,包括使用Gradle配置实现APK和AAR文件名的自定义格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用模块打包命名

要想令AS打包出来的APK名字有一定的格式,可以在app/build.gradle中按如下写:

android {
		android.applicationVariants.all { variant ->
	        variant.outputs.each { output ->
	            output.outputFile = new File(output.outputFile.parent, defaultConfig.applicationId + "_" + defaultConfig.versionName
                    + "_" + releaseTime() + "_" + buildType.name + ".apk")
	        }
		}
}
//AS3.0之后上述格式已经弃用,要改为如下
android.applicationVariants.all { variant ->
        variant.outputs.all {
            outputFileName = "${variant.applicationId}_${variant.versionName}" +
                    "_${releaseTime()}_${variant.productFlavors[0].name}_${buildType.name}.apk"

			/**
			若debug和release采用不同命名格式可如下书写
			if (variant.buildType.name == 'debug') {
			} else {
			}
			*/
        }
}

static def releaseTime() {
		return new Date().format("yyyyMMddHHmmss", TimeZone.getTimeZone("Asia/Shanghai"))
}

库模块打包命名

android.libraryVariants.all{ variant ->
    variant.outputs.all{
        def fileName = "face_service_api${cfg.apiVersionName}_${buildType.name}_${releaseTime()}.aar"
        outputFileName = fileName
    }
}

build.gradle.kts打包命名

import java.util.Date
import java.text.SimpleDateFormat
import java.util.Locale

plugins {
    alias(libs.plugins.android.application)
}

android.applicationVariants.all {
    val variant = this
    variant.outputs
        .map { it as com.android.build.gradle.internal.api.BaseVariantOutputImpl }
        .forEach { output ->
            val applicationId = variant.applicationId
            val buildType = variant.buildType.name
            val flavor = variant.flavorName
            val version = variant.versionName
            val timestamp = SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault())
                .format(Date())

            // 构建文件名
            val newApkName = when {
                flavor.isNotEmpty() ->
                    "${applicationId}_${flavor}_${buildType}_v${version}_${timestamp}.apk"
                else ->
                    "${applicationId}_${buildType}_v${version}_${timestamp}.apk"
            }

            output.outputFileName = newApkName
        }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值