ライブラリ プロジェクトと 2 つのアプリケーション プロジェクトがあります。ライブラリ プロジェクトの AndroidManifest.xml で宣言されたアクティビティがありmanifestmerger.enabled
、ライブラリ マニフェストが 2 つのアプリケーション マニフェストとマージされるように設定しました。
アプリケーション マニフェストのアクティビティ属性をオーバーライドしたいと考えています。具体的には、ライブラリ プロジェクトのマニフェストに次の宣言があります。
<activity
android:name=".sample.Activity1"
android:hardwareAccelerated="true"
.... />
hardwareAccelerated
そして、アプリケーション プロジェクトの 1 つの属性を にオーバーライドしたいと考えていますfalse
。
アプリケーション マニフェストに同じアクティビティ宣言を配置し、`hardwareAccelerated="false" を指定すると、ビルド時にエラーが発生します。
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Merging manifests from project and 4 libraries.
[mergemanifest] Error: [AndroidManifest.xml:32, AndroidManifest.xml:57] Trying to merge incompatible /manifest/application/activity[@name=.sample.Activity1] element:
どうやら、manifestmerger ではマニフェスト ファイルのみをマージでき、宣言をオーバーライドするメカニズムはありません。私が達成しようとしているユースケースを考えると、両方のアプリケーションプロジェクトでアクティビティ宣言を複製することなく、アクティビティに異なる値を指定できる代替手段は何ですか?