私は新しいgradle android buildsystemを使用しています。
このプロジェクトは、2 つの Android ライブラリ プロジェクトと 1 つのメイン プロジェクトで構成されます。
Ant ビルドを使用する場合、project.properties でマニフェスト マージを有効にする必要があります。ただし、gradle ビルド システムを使用する場合、マニフェスト マージはデフォルトで有効になります。マニフェストのマージを無効にするにはどうすればよいですか?
私は新しいgradle android buildsystemを使用しています。
このプロジェクトは、2 つの Android ライブラリ プロジェクトと 1 つのメイン プロジェクトで構成されます。
Ant ビルドを使用する場合、project.properties でマニフェスト マージを有効にする必要があります。ただし、gradle ビルド システムを使用する場合、マニフェスト マージはデフォルトで有効になります。マニフェストのマージを無効にするにはどうすればよいですか?
編集:これは実際には間接的ではありますが、0.3から可能です
あなたがする必要があるのは、プロセスマニフェストタスクを無効にして実行されないようにし、使用するマニフェストがどこにあるかをプロセスリソースに伝えることです:
android.applicationVariants.all { variant ->
variant.processResources.manifestFile = file('src/main/AndroidManifest.xml')
variant.processManifest.enabled=false
}
DSL を使用してアプリのパッケージ名をカスタマイズする場合は、R クラスに一貫したパッケージ名を提供するために、既定の場所にある既定のマニフェストを変更せずに保持し、手動でマージしたマニフェストを別の場所に配置して、各バリアントの processResources を指すようにする必要があります。彼らにタスク。
これが役立つ場合があります。
android.applicationVariants.all{ variant ->
variant.outputs.each { output ->
output.processResources.manifestFile = file('AndroidManifest.xml')
output.processManifest.enabled=false
}
}