dynamic-feature-modules を使用するとAndroidManifest.xml
、モジュールを事前にインストールする必要があるかどうかを定義できます。
<dist:module
...
dist:onDemand="false"
dist:title="@string/title_shop">
....
</dist:module>
か否か:
<dist:module
...
dist:onDemand="true"
dist:title="@string/title_shop">
....
</dist:module>
私のプロジェクトには 2 つのビルド フレーバーがあります。モジュールは 1 つのフレーバーにプリインストールする必要がありますが、他のフレーバーにはインストールしないでください。
AndroidManifest.xml
アイデアは、main
ソース セットにこのデフォルトを含めることです。
<dist:module
...
dist:onDemand="true"
dist:title="@string/title_shop">
....
</dist:module>
モジュールがプリインストールされている必要があるビルドフレーバーの場合、そのプロパティを次のAndroidManifest.xml
ようにオーバーライドするファイルを作成します。dist:onDemand
false
<dist:module
...
tools:replace="dist:onDemand"
dist:onDemand="false"
...
</dist:module>
残念ながら、これは機能しません。マニフェスト マージャーは、次のエラーで失敗します。
マージ エラー: エラー: tools:replace が属性 dist:onDemand の行: 11 で指定されていますが、ショップ マニフェストに新しい値が指定されていません。行 10 エラー: 検証に失敗しました。ショップ マニフェストを終了します。
ここで何が問題なのか誰にもわかりますか?