【问题标题】:What is the need of versionCode and versionName in AndroidManifest.xml if we already set it in app/build.gradle?如果我们已经在 app/build.gradle 中设置了 AndroidManifest.xml 中的 versionCode 和 versionName,那么它需要什么?
【发布时间】:2021-07-20 13:35:03
【问题描述】:

我们真的需要在AndroidManifest.xml 中包含android:versionCodeandroid:versionName 吗?

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.my.application"
  android:versionCode="1"
  android:versionName="1.0.0">

这些值在我的 App/build.gradle 中的defaultConfig 下标明。我认为将它们放入 AndroidManifest 没有任何价值。我从同事那里收到的论点是,这个值稍后会在用户点击时显示在 AppInfo 中。

根据Android docs,我也没有在 Android Manifest 中看到任何关于设置这些设置的亮点。

【问题讨论】:

  • 你不需要它们。 Gradle 将覆盖这些值。

标签: android version android-manifest


【解决方案1】:

official doc中所述:

要为您的应用定义版本信息,在 Gradle 构建文件中设置版本设置值。然后,这些值会在构建过程中合并到您应用的清单文件中。

注意:如果您的应用直接在 &lt;manifest&gt; 元素中定义应用版本,Gradle 构建文件中的版本值将覆盖清单中的设置。此外,在 Gradle 构建文件中定义这些设置允许您为应用程序的不同版本指定不同的值。为了获得更大的灵活性并避免在合并清单时可能被覆盖,您应该从 &lt;manifest&gt; 元素中删除这些属性,并改为在 Gradle 构建文件中定义您的版本设置

【讨论】:

  • 我之前实际上已经阅读过该链接,显然我忽略了您在此处突出显示的那些提到超级清晰的点。谢谢@Gabriele!
猜你喜欢
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
  • 2017-11-13
  • 1970-01-01
  • 2015-12-12
  • 2018-07-19
  • 2019-10-03
  • 2017-06-20
相关资源
最近更新 更多