web-dev-qa-db-ja.com

versionCode / versionNameを配置するのに適した場所ですか? build.gradleとAndroidManifest.xml

これで、versionCodeversionNamebuild.gradleファイルとAndroidManifest.xmlファイルの両方に入れることができます。これらの属性を配置するのに最適な場所はどれですか。また、他のオプションよりも優れているのはなぜですか。

私はグーグルの公式ドキュメントでこれについての情報を見つけることができません:

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

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

どうもありがとう。

25

実際には違いはありません。しかし、私はあなたにそれについてのいくつかの情報を教えます。

  1. AppManifest.xmlとbuild.gradleの両方にversionCodeとversionNameを記述した場合、アプリをコンパイルすると、build.gradleに記述されたものがAppManifest.xmlに置き換えられます。これがポイント2です。

  2. AppManifest.xmlにそれらを記述していない場合、アプリをコンパイルしてビルドすると、build.gradleに記述されたversionCodeとversionNameが自動的にAppManifest.xmlに書き込まれます。

  3. また、AppManifest.xmlのみでそれらを記述した場合、何も起こりません。すでに書かれています...

要約すると、build.gradle overrides AppManifest.xmlです。

お役に立てば幸いです。

43
Hussein El Feky

ここで公式を見つけることができます doc

GradleAndroidManifest.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
4