码迷,mamicode.com
首页 > 移动开发 > 详细

Android studio 自定义打包apk名

时间:2017-10-20 21:32:03      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:ppc   默认   get   too   mpi   gets   nts   and   turn   

Android Studio打包应用默认生成的apk名称是:app-release.apk 、如果我们要让生成的apk名跟我们版本包名有联系的话,那我们就要自定义生成的apk名了

需要在build.gradle(Module:app)文件下android{ }中添加:

// apk name def
    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFile = new File(output.outputFile.parent, defaultConfig.applicationId + "-" + buildType.name + "-v" +
                    defaultConfig.versionName + "-" + defaultConfig.versionCode + ".apk" );
        }
    }

这样我们打包的apk名就是:com.test.demo-release-v1.01-2.apk   ,就自动带上我们的包名和版本号了,省去每次都要手动自己改了。

如果要生成如下版本号时间戳的apk包名,则可以用如下build.gradle代码:
模块名-渠道名-版本号-版本名称-包名-编译时间.apk
apply plugin: com.android.application

def releaseTime() {
    return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}


android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.djk.myapplication"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro
        }
    }

    productFlavors{
        develop{}
        xiaomi{}
        huawei{}
        anzhi{}
    }

    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def outputFile = output.outputFile
            if (outputFile != null && outputFile.name.endsWith(.apk)) {
                //这里修改apk文件名
                def fileName = "demo_${variant.productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime() }.apk"
          //def fileName = outputFile.name.replace("app", "${rootProject.ext.appName}-${releaseTime()}-${defaultConfig.versionCode}-${defaultConfig.versionName}")

                output.outputFile = new File(outputFile.parent, fileName)
            }
        }
    }

}

dependencies {
    compile fileTree(dir: libs, include: [*.jar])
    testCompile junit:junit:4.12
    compile com.android.support:appcompat-v7:23.1.0
}

效果

技术分享

 

 
 

Android studio 自定义打包apk名

标签:ppc   默认   get   too   mpi   gets   nts   and   turn   

原文地址:http://www.cnblogs.com/zhujiabin/p/7701373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!