Android apk版本名称

时间:2016-07-07 06:52:05

标签: android android-gradle version

以下是我的build.gradle文件:

...
defaultConfig {
    applicationId "app.com.foo.player"
    minSdkVersion 18
    targetSdkVersion 23
    versionCode 1 // increment with every release
    versionName "Foo-1.0" // change with every release
    setProperty("archivesBaseName", "$versionName")
    testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'

}
...

我有几个与android apk版本名称相关的问题:

  1. 当我构建项目时,生成的apk名称为Foo-1.0-debug.apk。来自'debug'来自何处,它意味着什么,以及如何避免/改变它?

  2. 如何为dev和prod版本的应用生成不同的名称?

  3. 有没有办法可以自动增加每个版本的版本号和版本名称?

  4. 提前致谢。

2 个答案:

答案 0 :(得分:3)

要为开发人员和产品生成不同的名称,您可以使用productFlavors,请参阅以下链接。

https://developer.android.com/studio/build/build-variants.html

在gradle中,

   productFlavors{
    releaseBuild{
        buildConfigField "String", "APP_NAME", '"SAMPLE_APP_PRODUCT"'
    }

    debugBuild{
        buildConfigField "String", "APP_NAME", '"SAMPLE_APP_DEBUG"'

    }
}

在gradle中设置后,更改BuiltVariant并运行程序

答案 1 :(得分:1)

使用问题1和2,您可以转到项目结构选择选项卡Flavors和Build Type来设置构建配置。

使用问题3,您可以在项目中的build.gradle中创建一个脚本,然后在模块中使用。这里我以秒为单位使用当前时间作为示例: 在项目中:

ext{
    minSdk = 14
    targetSdk = 23
    verCode = getVersion();
    verName = "Foo-1.0"
}
def getVersion() {
    return new Date().getTime() / 1000;
}

在模块中

    defaultConfig {
        minSdkVersion minSdk
        targetSdkVersion targetSdk
        versionCode verCode 
        versionName verName + verCode
    }