1

ライブラリ プロジェクトと 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 ではマニフェスト ファイルのみをマージでき、宣言をオーバーライドするメカニズムはありません。私が達成しようとしているユースケースを考えると、両方のアプリケーションプロジェクトでアクティビティ宣言を複製することなく、アクティビティに異なる値を指定できる代替手段は何ですか?

4

1 に答える 1