0

谁能告诉我如何在一台设备上安装不同版本的不同版本,而不会在 PlayStore 和 AndroidStudio 中都收到“重复提供程序”错误消息?

我在我的应用程序中针对不同国家/地区有不同的风格,并且总是在安装另一个应用程序之前卸载该应用程序很烦人。

我试过了:

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/> 

包含 Stub ContentProvider 名称的标记 --> 不成功。对于其他一些想法或更正,我会非常高兴。

更新:

尝试在我的设备上安装应用程序时从 Android Studio 收到的错误消息。

这是我从 Android Studio 收到的错误消息

4

1 回答 1

0

我找到了解决方案:

当我说我没有提供者时,我撒了谎。我只是不再使用它了。所以我的问题的解决方案就在这里(或者只是删除未使用的提供程序):https ://stackoverflow.com/a/24850080/3734116

通过查看我在 build/intermediates/manifests/ 中生成/合并的 AndroidManifest,我终于意识到了这一点,在那里我可以找到适合我所有口味的 Manifest。在那里我看到一个提供者总是拥有相同的权限。

另一个问题也可能是(但不适用于我)

于 2016-04-22T20:08:08.053 回答