Android Stdio 如何自定义生成APK的名称

Posted 高山流水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Stdio 如何自定义生成APK的名称相关的知识,希望对你有一定的参考价值。

    android Stdio自动默认生成的app的名称都是app-release或者app-debug,生成完后还要手动更改apk的名称,很是麻烦。

   自定义生成APK的名称的方法:在\\app\\build.gradle这个文件里添加如下内容

apply plugin: \'com.android.application\'

def getTime() {
    return new Date().format("yyyyMMdd", TimeZone.getDefault());
}

android {
    compileSdkVersion 22
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\'
        }
    }

    // 打包后应用名称
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def outputFile = output.outputFile
            def fileName
            if (outputFile != null && outputFile.name.endsWith(\'.apk\')) {
                if (variant.buildType.name.equals(\'release\')) {
                    fileName = "LoverHeart_Release${defaultConfig.versionName}.${getTime()}.apk"
                } else if (variant.buildType.name.equals(\'debug\')) {
                    fileName = "LoverHeart_Debug${defaultConfig.versionName}.${getTime()}.apk"
                }
                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:22.2.1\'
    compile \'com.android.support:design:22.2.1\'
}

 

生成的apk包名为:LoverHeart_Release1.0.20170417.apk

    

以上是关于Android Stdio 如何自定义生成APK的名称的主要内容,如果未能解决你的问题,请参考以下文章

Android studio 自定义打包APK名称

不能在自定义通知中包含简单视图?

如何生成包含一些自定义声明的 JWT 访问令牌?

如何在 D 盘中自定义安装 NativeScript ios/Android 要求?

如何在 Android 中以编程方式触发自定义信息窗口

如何在 Visual Studio 2017 的 ASP.NET MVC 中创建自定义生成/脚手架模板(Razor)?