Android Gradle未将versionCode和VersionName更新为manifest.xml文件

Android Gradle未将versionCode和VersionName更新为manifest.xml文件,android,android-studio,gradle,android-gradle-plugin,build.gradle,Android,Android Studio,Gradle,Android Gradle Plugin,Build.gradle,基于我们在gradle文件中使用的google文档值,比如versionCode和versionName应该在manifest文件中更新。因此,在我们的例子中,我们试图在build.gradle文件中向versionCode追加一个日期和时间。但gradle似乎没有将版本代码更新为清单文件。这是正常的行为吗 渐变文件: 清单文件: 我们错过什么了吗 警告:android:versionCode的最大可能值为MAXINT 2147483647。但是,如果您上载具有此值的应用程序,您的应用程序将永远

基于我们在gradle文件中使用的google文档值,比如versionCode和versionName应该在manifest文件中更新。因此,在我们的例子中,我们试图在build.gradle文件中向versionCode追加一个日期和时间。但gradle似乎没有将版本代码更新为清单文件。这是正常的行为吗

渐变文件:

清单文件:

我们错过什么了吗

警告:android:versionCode的最大可能值为MAXINT 2147483647。但是,如果您上载具有此值的应用程序,您的应用程序将永远无法更新

versionCode—相对于其他版本,表示应用程序代码版本的整数值

versionName—一个字符串值,表示应用程序代码的发布版本,应显示给用户

您可以解决是否缩短了版本代码的长度

def getDateTime() {
    DateFormat df = new SimpleDateFormat("yyMMddHH");
    return df.format(new Date()).toInteger();
}

我通过在ProductFlavors中添加versionCode解决了这个问题。不确定Gradle build为什么没有从defaultConfig块中选取versionCode

def date = new Date()
def formattedDate = date.format('yyMMddHH')
def code = formattedDate.toInteger()
productFlavors {
    Release {
        minSdkVersion 23
        targetSdkVersion 25
        versionCode code
    }
def getDateTime() {
    DateFormat df = new SimpleDateFormat("yyMMddHH");
    return df.format(new Date()).toInteger();
}
def date = new Date()
def formattedDate = date.format('yyMMddHH')
def code = formattedDate.toInteger()
productFlavors {
    Release {
        minSdkVersion 23
        targetSdkVersion 25
        versionCode code
    }