108

Androidスタジオについて奇妙なことを発見しました.ファイルbuild.gradleに指定されているものをオーバーライドする構成オプションがファイルにいくつかありAndroidManifest.xmlます。

たとえば、次の行が にありましたbuild.gradle

android {
    compileSdkVersion 18
    buildToolsVersion "18.1.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 10
    }
...
}

の対応するタグをオーバーライドしていましたAndroidManifest.xml:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="8"/>

同じ設定を 2 つの異なるファイルに分散させるのはあまり好きではないので、 または のいずれかから安全に削除できるかどうか、および保持する方が理にかなっている場所に疑問に思ってbuild.gradleAndroidManifest.xmlます。

4

2 に答える 2

1

Android ドキュメントから:

注: アプリのバージョンが要素で直接定義されている場合、Gradle ビルド ファイルのバージョン値がマニフェストの設定をオーバーライドします。さらに、Gradle ビルド ファイルでこれらの設定を定義すると、アプリのバージョンごとに異なる値を指定できます。柔軟性を高め、マニフェストがマージされたときに上書きされる可能性を回避するには、要素からこれらの属性を削除し、代わりに Gradle ビルド ファイルでバージョン設定を定義する必要があります。

https://developer.android.com/studio/publish/versioning.html#appversioning

于 2018-04-25T14:48:15.160 に答える