放置versionCode / versionName的好地方? build.gradle与AndroidManifest.xml

时间:2015-08-21 10:37:27

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

现在,您可以将versionCodeversionName放入build.gradleAndroidManifest.xml个文件中。哪个是放置这些属性的最佳位置,为什么它比其他选项更好?

我在谷歌官方文档中找不到任何关于此的信息:

  1. https://developer.android.com/tools/building/configuring-gradle.html

  2. http://developer.android.com/guide/topics/manifest/manifest-element.html

  3. 非常感谢。

3 个答案:

答案 0 :(得分:36)

它实际上并没有区别。但我会告诉你一些有关这方面的信息。

  1. 如果您已在AppManifest.xml和build.gradle中编写了versionCode和versionName,则在编译应用程序时,build.gradle中编写的那些将替换AppManifest.xml中的那些,并且此处出现第2点。

  2. 如果您还没有在AppManifest.xml中编写它们,那么在编译应用程序并构建它时,build.gradle中编写的versionCode和versionName将自动写入AppManifest.xml中。

  3. 如果您只在AppManifest.xml中编写它们,则不会发生任何事情。它已经写好了......

  4. 总结一下,build.gradle 会覆盖您的AppManifest.xml。

    希望有所帮助。

答案 1 :(得分:4)

您可以在这里找到官方doc

请注意Gradle 覆盖 AndroidManifest.xml中的信息 我建议您始终使用gradle脚本来设置这些值。

如果未通过DSL设置属性,则将使用一些默认值。这是一个如何处理它的表。

 Property Name   Default value in DSL object     Default value
 versionCode     -1                              value from manifest if present
 versionName     null                            value from manifest if present

答案 2 :(得分:0)

使用Gradle,我不记得要使用AndroidManifest.xml中的版本的任何情况。

我的第一个想法是只从AndroidManifest.xml中删除该版本,并使用来自build.gradle的版本。