【发布时间】:2016-04-22 15:05:56
【问题描述】:
谁能告诉我如何在一台设备上安装不同版本的不同版本,而不会在 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 收到的错误消息。
【问题讨论】:
-
“我不使用 ContentProvider”——那么具体是什么给了你这个例外? “并且在我的 AndroidManifest 中我添加了”——如果你不使用
ContentProvider,你在哪里添加了这个属性?您可以考虑发布安装异常的整个堆栈跟踪,这应该会显示在 LogCat 中。 -
android:authorities 应添加到您的提供商标签中,请澄清您的问题并发布您 manifest.xm 的相关部分
标签: android android-contentprovider android-build-flavors android-variants android-flavors