【问题标题】:Android apk version nameAndroid apk 版本名称
【发布时间】:2016-11-09 09:34:53
【问题描述】:

以下是我的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。 “调试”来自哪里,它意味着什么,我该如何避免/改变它?

  2. 如何为开发版和生产版应用生成不同的名称?

  3. 有没有一种方法可以为每个构建自动增加我的版本号和版本名称?

提前致谢。

【问题讨论】:

  • 调试来自您构建的风格。调试器可以附加调试风格,并且通常会对代码进行较少的优化。发布风格将由编译器完全优化,并且可能无法与调试器一起使用。如果你换成另一种风格,它会说发布而不是调试。知道您使用的是什么类型是个好主意,所以我建议不要删除它。但是您可以将 apk 重命名为您想要的任何名称,它只是一个文件。
  • 一个小说明 - 调试或发布仅在通过 IDE 运行时才重要,对吧?其余所有情况下,该应用程序默认情况下不会以发布模式运行吗?
  • 不,一点也不。发布版本将剥离符号、应用不同的 proguard 规则以及经常不同的编译器优化级别。它们可能是相同的,但我不会指望这一点。
  • 如何获取release build生成的apk?

标签: android android-gradle-plugin version


【解决方案1】:

要为开发人员和产品生成不同的名称,你可以使用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并运行程序

【讨论】:

    【解决方案2】:

    对于问题 1 和 2,您可以转到 Project Structure 选择选项卡 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
        }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多