如何以编程方式阻止 "conflicting provider" 消息
How to programmatically prevent "conflicting provider" message
谁能告诉我如何在一台设备上安装不同版本的不同版本,而不会在 PlayStore 和 AndroidStudio 中收到 "duplicate provider" 错误消息?
我的应用程序针对不同的国家/地区有不同的风格,在安装另一个应用程序之前总是卸载该应用程序很烦人。
我试过了:
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",
]
}
//...
}
并在我的 Android清单中添加:
android:authorities="${providerAuthority}"
给我的
<application/>
标签。
这不能解决我的问题。
我不使用 ContentProvider,所以我也尝试向项目添加 Stub ContentProvider class 并在
中声明 android:authorities="${providerAuthority}"
<provider/>
包含 Stub ContentProvider 名称的标签 --> 失败。
对于其他一些想法或更正,我会很高兴。
更新:
尝试在我的设备上安装应用程序时,我从 Android Studio 收到错误消息。
我找到了解决方案:
我说我没有提供者是在撒谎。我只是不再使用它了。所以我的问题的解决方案就在这里(或者只是删除未使用的提供程序):
我最终通过查看我在 build/intermediates/manifests/ 中生成/合并的 AndroidManifest 意识到了这一点,在那里我可以找到适合我所有风格的清单。在那里我看到一个提供者总是拥有相同的权限。
另一个问题也可能是(但不适用于我)
谁能告诉我如何在一台设备上安装不同版本的不同版本,而不会在 PlayStore 和 AndroidStudio 中收到 "duplicate provider" 错误消息?
我的应用程序针对不同的国家/地区有不同的风格,在安装另一个应用程序之前总是卸载该应用程序很烦人。
我试过了:
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",
]
}
//...
}
并在我的 Android清单中添加:
android:authorities="${providerAuthority}"
给我的
<application/>
标签。 这不能解决我的问题。
我不使用 ContentProvider,所以我也尝试向项目添加 Stub ContentProvider class 并在
中声明 android:authorities="${providerAuthority}"<provider/>
包含 Stub ContentProvider 名称的标签 --> 失败。 对于其他一些想法或更正,我会很高兴。
更新:
尝试在我的设备上安装应用程序时,我从 Android Studio 收到错误消息。
我找到了解决方案:
我说我没有提供者是在撒谎。我只是不再使用它了。所以我的问题的解决方案就在这里(或者只是删除未使用的提供程序):
我最终通过查看我在 build/intermediates/manifests/ 中生成/合并的 AndroidManifest 意识到了这一点,在那里我可以找到适合我所有风格的清单。在那里我看到一个提供者总是拥有相同的权限。
另一个问题也可能是(但不适用于我)