0

PlayStoreでもAndroidStudioでも「重複プロバイダー」エラーメッセージを表示せずに、1つのデバイスにさまざまなフレーバーのさまざまなビルドをインストールする方法を誰か教えてもらえますか?

私のアプリには国ごとに異なるフレーバーがあり、別のアプリをインストールする前に常にアプリをアンインストールするのは面倒です。

私は試した:

productFlavors {
    austria {
        manifestPlaceholders = [
            // prevent "duplicate provider authority" message
            providerAuthority: "com.example.app.at",
        ]
    }
    germany {
        manifestPlaceholders = [
            // prevent "duplicate provider authority" message
            providerAuthority: "com.example.app.de",
        ]
    }
    //...
}

そして私の AndroidManifest に追加しました:

android:authorities="${providerAuthority}"

わたしの

<application/> 

鬼ごっこ。これは私の問題を解決しません。

私は ContentProvider を使用しないので、プロジェクトに Stub ContentProvider クラスを追加して、内部で android:authorities="${providerAuthority}" を宣言しようとしました

<provider/> 

スタブ ContentProvider の名前を含むタグ --> 成功しません。他のアイデアや修正についてはとてもうれしいです。

アップデート:

デバイスにアプリをインストールしようとしたときに Android Studio から表示されるエラー メッセージ。

これは、Android Studio から表示されるエラー メッセージです。

4

1 に答える 1

0

私は解決策を見つけました:

プロバイダーがいないと言ったとき、私は嘘をつきました。もう使わなくなっただけです。だから私の問題の解決策はここにありました(または単に未使用のプロバイダーを削除する):https://stackoverflow.com/a/24850080/3734116

build/intermediates/manifests/ で生成/マージされた AndroidManifest を調べて、すべてのフレーバーのマニフェストを見つけることができたので、最終的にそれを実現しました。そこで私は、1 つのプロバイダーが常に同じ権限を持っていることを確認しました。

別の問題もあった可能性があります(ただし、私には当てはまりませんでした)

于 2016-04-22T20:08:08.053 に答える