3

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:onDemandfalse

<dist:module
    ...
    tools:replace="dist:onDemand"
    dist:onDemand="false"
    ...
</dist:module>

残念ながら、これは機能しませ。マニフェスト マージャーは、次のエラーで失敗します。

マージ エラー: エラー: tools:replace が属性 dist:onDemand の行: 11 で指定されていますが、ショップ マニフェストに新しい値が指定されていません。行 10 エラー: 検証に失敗しました。ショップ マニフェストを終了します。

ここで何が問題なのか誰にもわかりますか?

4

3 に答える 3