Android Studio打包生成自定义文件名的apk

1. Gradle 4.0以前

在app下面的build.gradle文件中,添加如下代码即可。

apply plugin: 'com.android.application'

static def getTime() {
    return new Date().format("yyyyMMdd_HHmm")
}

android {
    compileSdkVersion 28

    defaultConfig {
        applicationId "com.fantasy.blogdemo"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    // 自定义apk文件名
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def outputFile = output.outputFile
            if (outputFile != null && outputFile.name.endsWith('.apk')) {
                def fileName = "BLOG_V${defaultConfig.versionName}_${defaultConfig.versionCode}_${getTime()}.apk"
                output.outputFile = new File(outputFile.parent, fileName)
            }
        }
    }
}

2. Gradle 4.0及以后

apply plugin: 'com.android.application'

static def getTime() {
    return new Date().format("yyyyMMdd_HHmm")
}

android {
    compileSdkVersion 28

    defaultConfig {
        applicationId "com.fantasy.blogdemo"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    // 自定义apk文件名
    applicationVariants.all { variant ->
        variant.outputs.all {
            outputFileName = "BLOG_V${variant.versionName}_${variant.versionCode}_${getTime()}.apk"
        }
    }
}
发布了43 篇原创文章 · 获赞 34 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/Fantasy_Lin_/article/details/103539978