Android 将应用程序版本名称附加到应用程序名称

Android 将应用程序版本名称附加到应用程序名称,android,android-gradle-plugin,Android,Android Gradle Plugin,我想确定发布的开发版本的不同版本。是否可以将应用程序的版本名附加到应用程序名,或将版本名显示为开发版本的应用程序名,以便我可以从启动器本身识别版本 有没有更好的方法 是否可以将应用程序的版本名称附加到应用程序名称或显示 versionname作为开发版本的appname 对。您可以在build.gradle中声明def versionName=“1.0” 注意:从string.xml中删除app_name,否则它将通过重复资源的异常来删除。游戏后期,但找到了一种方法将app name保留在str

我想确定发布的开发版本的不同版本。是否可以将应用程序的版本名附加到应用程序名,或将版本名显示为开发版本的应用程序名,以便我可以从启动器本身识别版本

有没有更好的方法

是否可以将应用程序的版本名称附加到应用程序名称或显示 versionname作为开发版本的appname

对。您可以在build.gradle中声明
def versionName=“1.0”


注意:
string.xml
中删除app_name,否则它将通过重复资源的异常来删除。

游戏后期,但找到了一种方法将app name保留在strings.xml中,以便在发布版本中很好地本地化,同时能够为调试版本添加后缀

与NJ的回答类似,为版本名定义一个变量,然后使用
manifestplaceholder
为manifest中定义的应用程序名添加香料

在strings.xml中:

然后在AndroidManifest.xml中:


为什么不在某个地方使用一个显示应用程序版本的小文本视图呢?
android {
    compileSdkVersion 24
    buildToolsVersion "23.0.3"

    def versionName = "1.0"

    defaultConfig {
        applicationId "..."
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName versionName
    }


    productFlavors {
        flavor1{
            resValue "string", "app_name", "YourAppName"+versionName
        }


    }
}
<string name="app_name">My app</string>
def versionName = '1.0'

android {
   ...
   defaultConfig {
      ...
      versionName versionName
      manifestPlaceholders.appName = "@string/app_name"
   }

   buildTypes {
      debug {
         ...
         manifestPlaceholders.appName = "My app $versionName"
      }
      ...
   }
}
<application
   ...
   android:label="${appName}"
   ...
applicationVariants.all { variant ->
    final buildTypeName = variant.buildType.name
    final flavorName = variant.flavorName
    switch (buildTypeName) {
        // release name is set via defaultConfig, but could also be set here
        case 'debug':
            variant.mergedFlavor.manifestPlaceholders.appName = "MyApp $versionName $flavorName $buildTypeName"
            break
    }
}