versionCode始终被覆盖为-1

时间:2014-11-11 18:38:30

标签: android android-studio gradle android-gradle build.gradle

我在android studio中创建了一个新项目,我做的第一件事就是将versionCode的versionName属性从build.gradle移动到manifest文件以方便使用。然后我得到这个奇怪的警告说:

  

不使用此versionCode值(1);它始终是由   Gradle构建脚本(-1)

中指定的值

它也开始出现在我的旧项目中,所以它显然不是项目特定的问题。当我更新到0.8.14并更新构建工具时可能会发生一些事情,但我不知道是什么。关于如何解决这个问题的任何想法?

3 个答案:

答案 0 :(得分:4)

根据official doc,gradle 覆盖 AndroidManifest中的某些值。

versionCode的DSL对象中的默认值为 -1

然后当gradle构建你的apk时,覆盖Manifest中的值并指定versionCode = -1

答案 1 :(得分:2)

您已经解释了此问题的根源:您无法将版本控制信息移动到基于gradle的项目中的清单。您应该使用build.grade作为版本代码和名称。

答案 2 :(得分:0)

好吧,可能Gradle构建系统希望你保留versionCode和versionName,如果缺少,它不知道该怎么做。建议将这些值保留在build.gradle文件中,而不是在AndroidManifest中