ファイルを含めることができます。内にパッケージ化します。マージの仕組みと、マージ優先順位を適用してマージ競合を解決する方法について説明します。マニフェストの結果をプレビューしたり、競合エラーを確認したりできます。つのファイルに結合します。マニフェストにマージされます。つの基本タイプがあります。以下に、マージ優先順位が最も高いものから順に示します。ファイルバリアントに複数のソースセットがある場合、そのマニフェストの優先順位は次のようになります。プロパティ内にリストされている各ディメンションの順序に対応します(リスト内の登場順)。ブロック内の登場順)。マニフェストにマージされます。すべてのソースセットで、同じマージ優先順位になります。ソースセットでビルドするをご覧ください。ファイル内の対応する属性をオーバーライドします。マニフェスト要素内の対応する属性をオーバーライドします。ファイル内だけでプロパティを定義するようにしてください。詳細については、ビルドを設定するをご覧ください。マージポリシーをご覧ください)。優先度の低いマニフェスト内の要素が、優先度の高いマニフェスト内のどの要素にも一致しない場合、その要素はマージ後のマニフェストに追加されます。一致する要素が存在する場合、マージツールは各マニフェスト内のすべての属性を単一の要素に結合しようとします。両方のマニフェスト内に同じ属性があるがその値が異なることをツールが検出した場合、マージの競合が発生します。マーカーを追加する必要があります。マージ競合を避けるために、マージツールが別の処理を行う場合があります。要素内の属性はマージされません。優先度が高いマニフェストの属性だけが使用されます。マージが使用されます。適用され、各マニフェストで必須の機能やライブラリが必ず含まれるようになります。要素内の属性には、最も優先度の高いマニフェストの値が常に使用されます。マージルールを適用しない限りエラーが発生します。値が小さい場合、マージツールは、優先度の高いマニフェストの値を使用します。バージョンの方がパーミッションの制限が強化されている場合に対応するため)。パーミッションをご覧ください。要素をマニフェスト間でマッチングすることはありません。マニフェストの共通親要素に追加されます。属性間に他の競合がある場合、すべてエラーが発生します。マーカーのセクションをご覧ください)。デフォルト属性値に依存しないでください。すべての一意の属性が単一の要素に結合されるため、優先度の高いマニフェストが属性の値を宣言せずにデフォルト値に依存していた場合、予期しない結果が生じる可能性があります。マニフェストに適用されることになります(デフォルト値をオーバーライドします)。リファレンスをご覧ください)。マーカーは、要素全体または要素内の特定の属性に対して適用できます。ファイル内にマーカーがないか検索します。要素内で宣言する必要があります。要素全体(指定マニフェスト要素内のすべての属性と、その要素のすべての子タグ)に適用するには、次の属性を使用します。tools:node="merge"競合がない場合、マージ競合ヒューリスティックに基づいて、このタグ内のすべての属性と、ネストされたすべての要素をマージします。これは、要素に対するデフォルトの動作です。</activity>tools:node="merge-only-attributes"このタグ内の属性だけをマージします。ネストされた要素はマージしません。</activity>tools:node="remove"マージ後のマニフェストからこの要素を削除します。ライブラリなど)内にこの要素が存在すると、マージ後のマニフェスト内に不要な要素が組み込まれるため、この方法が必要となります。似ていますが、これは、同じ親要素内でこの要素タイプに合致するすべての要素を削除します。</activity-alias>tools:node="replace"優先度の低い要素を完全に置き換えます。優先度の低いマニフェスト内に合致する要素があった場合でも、それを無視し、このマニフェスト内に記述されている要素をそのまま使用します。マーカーによって解決される場合を除きます)。これはマージ競合ヒューリスティックをオーバーライドします。優先度の低いマニフェスト内に独自の属性が含まれているだけでビルドが失敗します(デフォルトの動作では、独自の属性はマージ後のマニフェストに追加されます)。マージエラーが発生します。つのマニフェスト要素は完全に一致している必要があります。つの要素は問題なくマージされます。タグ内の特定の属性だけにマージルールを適用するには、下記の属性を使用します。複数の属性名(属性名前空間を含む)を指定できます(複数の場合はカンマ区切りで指定します)。..."指定した属性をマージ後のマニフェストから削除します。ファイル内に対象属性が存在していると、マージ後のマニフェスト内に組み込まれるため、このマーカーを使用する必要があります。..."指定した属性が、優先度の低いマニフェスト内にある場合、このマニフェスト内の属性で置き換えます。優先度の高いマニフェストの値が常に維持されます。..."優先度の低いマニフェスト内の対象属性が、優先度の高いマニフェスト内の対象属性と完全に一致していない場合、ビルドを失敗させます。これは、すべての属性のデフォルト動作です。マージ競合ヒューリスティック内で特別な動作を指定している場合を除きます。マージエラーが発生します。削除した場合でも、上記の例の結果は同じになります)。つの要素に対して複数のマーカーを適用できます。パッケージ名を指定します。マージルールが適用されます。マージルールは無視されます。セレクタは、そのマーカー内で指定されているすべての属性に適用されます。ファイルよりも大きいライブラリをインポートしようとすると、デフォルトではエラーが発生し、ライブラリはインポートできません。値をアプリレベルで維持したまま、マージツールは競合を無視してライブラリをインポートできるようになります。パッケージ名を指定できます(複数の場合はカンマ区切りで指定します)。オーバーライドされるライブラリを示すことができます。タグに関するエラーを発生させずに次のマニフェストをマージできます。パーミッションによって制限されるようになりました。引き続きアクセスできるようになっています。アクセスを許可する暗黙的なパーミッションがアプリに付与されます。値が異なるマニフェストのマージに次のように影響します。パーミッションをマージ後のマニフェストに明示的に追加します。パーミッションを追加します。リクエストを行う必要があります。パーミッションを使用するをご覧ください。ビルドする前でも、マージ後のマニフェストの内容をプレビューできます。タブをクリックします。ファイルの情報が表示されます。ファイルからマージされた要素は、ビューの左側に、異なる色でハイライト表示されます。