How to change the generated filename for App Bundles with Gradle?

前端 未结 6 1972
隐瞒了意图╮
隐瞒了意图╮ 2020-11-30 07:47

So to change the generated APK filename inside gradle android I could do something like:

applicationVariants.output.all {
    outputFileName = \"the_file_nam         


        
6条回答
  •  没有蜡笔的小新
    2020-11-30 08:22

    I've found a much better option to auto increment your app versioning and auto renaming when you generate an apk / aab. Solution as below (do remember to create "version.properties" file on your root folder:

    android {
         ...
         ...
        Properties versionProps = new Properties()
        def versionPropsFile = file("${project.rootDir}/version.properties")
        versionProps.load(new FileInputStream(versionPropsFile))
        def value = 0
        def runTasks = gradle.startParameter.taskNames
        if ('assemble' in runTasks || 'assembleRelease' in runTasks) {
            value = 1
        }
        def versionMajor = 1
        def versionPatch = versionProps['VERSION_PATCH'].toInteger() + value
        def versionBuild = versionProps['VERSION_BUILD'].toInteger() + 1
        def versionNumber = versionProps['VERSION_NUMBER'].toInteger() + value
        versionProps['VERSION_PATCH'] = versionPatch.toString()
        versionProps['VERSION_BUILD'] = versionBuild.toString()
        versionProps['VERSION_NUMBER'] = versionNumber.toString()
        versionProps.store(versionPropsFile.newWriter(), null)
    
        defaultConfig {
        applicationId "com.your.applicationname"
        versionCode versionNumber
        versionName "${versionMajor}.${versionPatch}.${versionBuild}(${versionNumber})"
        archivesBaseName = versionName
        minSdkVersion 26
        targetSdkVersion 29
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        signingConfig signingConfigs.release
        setProperty("archivesBaseName","${applicationId}-v${versionName}")
    
        ...
    }
    

    Credits to this website and this post

提交回复
热议问题