我使用的是Google Play服务7.8,我已更新至最新版本8.4,并且在所有测试设备上一切正常。但是,某些用户(极少数)在尝试安装或更新到最新版本时报告错误Duplicate Provider Authority
。
在用户的帮助下,我已将其范围缩小到了由Google Play服务引起的情况,但我无法弄清楚它是为什么发生或确切原因。
我的.gradle
依赖项是:
dependencies {
compile 'com.facebook.android:facebook-android-sdk:4.10.0'
compile ('com.facebook.android:audience-network-sdk:4.10.0') {
exclude group: 'com.google.android.gms'
}
compile 'com.android.support:support-v4:23.1.1'
compile 'com.google.android.gms:play-services-games:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-plus:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.android.support:multidex:1.0.1'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.amazon.android:mobile-ads:5.+'
}
运行
gradlew android:androidDependencies
会产生以下输出+--- LOCAL: gameanalytics.jar
+--- LOCAL: in-app-purchasing-2.0.61.jar
+--- LOCAL: vungle-publisher-adaptive-id-3.3.3.jar
+--- LOCAL: dagger-1.2.2.jar
+--- LOCAL: nineoldandroids-2.4.0.jar
+--- LOCAL: presage-lib-1.7.2-manual.jar
+--- LOCAL: javax.inject-1.jar
+--- com.android.support:multidex:1.0.1
+--- com.facebook.android:facebook-android-sdk:4.10.0
| +--- com.android.support:support-v4:23.1.1
| | \--- LOCAL: internal_impl-23.1.1.jar
| \--- com.android.support:cardview-v7:23.1.1
+--- com.facebook.android:audience-network-sdk:4.10.0
| +--- com.android.support:appcompat-v7:23.1.0
| | \--- com.android.support:support-v4:23.1.1
| | \--- LOCAL: internal_impl-23.1.1.jar
| \--- com.android.support:recyclerview-v7:23.1.0
| \--- com.android.support:support-v4:23.1.1
| \--- LOCAL: internal_impl-23.1.1.jar
+--- com.android.support:support-v4:23.1.1
| \--- LOCAL: internal_impl-23.1.1.jar
+--- com.google.android.gms:play-services-games:8.4.0
| +--- com.google.android.gms:play-services-base:8.4.0
| | \--- com.google.android.gms:play-services-basement:8.4.0
| | \--- com.android.support:support-v4:23.1.1
| | \--- LOCAL: internal_impl-23.1.1.jar
| \--- com.google.android.gms:play-services-drive:8.4.0
| \--- com.google.android.gms:play-services-base:8.4.0
| \--- com.google.android.gms:play-services-basement:8.4.0
| \--- com.android.support:support-v4:23.1.1
| \--- LOCAL: internal_impl-23.1.1.jar
+--- com.google.android.gms:play-services-analytics:8.4.0
| \--- com.google.android.gms:play-services-basement:8.4.0
| \--- com.android.support:support-v4:23.1.1
| \--- LOCAL: internal_impl-23.1.1.jar
+--- com.google.android.gms:play-services-ads:8.4.0
| \--- com.google.android.gms:play-services-basement:8.4.0
| \--- com.android.support:support-v4:23.1.1
| \--- LOCAL: internal_impl-23.1.1.jar
+--- com.google.android.gms:play-services-plus:8.4.0
| \--- com.google.android.gms:play-services-base:8.4.0
| \--- com.google.android.gms:play-services-basement:8.4.0
| \--- com.android.support:support-v4:23.1.1
| \--- LOCAL: internal_impl-23.1.1.jar
+--- com.google.android.gms:play-services-gcm:8.4.0
| +--- com.google.android.gms:play-services-base:8.4.0
| | \--- com.google.android.gms:play-services-basement:8.4.0
| | \--- com.android.support:support-v4:23.1.1
| | \--- LOCAL: internal_impl-23.1.1.jar
| \--- com.google.android.gms:play-services-measurement:8.4.0
| \--- com.google.android.gms:play-services-basement:8.4.0
| \--- com.android.support:support-v4:23.1.1
| \--- LOCAL: internal_impl-23.1.1.jar
\--- com.google.android.gms:play-services-location:8.4.0
+--- com.google.android.gms:play-services-base:8.4.0
| \--- com.google.android.gms:play-services-basement:8.4.0
| \--- com.android.support:support-v4:23.1.1
| \--- LOCAL: internal_impl-23.1.1.jar
\--- com.google.android.gms:play-services-maps:8.4.0
\--- com.google.android.gms:play-services-base:8.4.0
\--- com.google.android.gms:play-services-basement:8.4.0
\--- com.android.support:support-v4:23.1.1
\--- LOCAL: internal_impl-23.1.1.jar
最佳答案
据我所知,当已经使用了提供者授权(提供者名称)时,就会发生此错误。如果应用程序的build.gradle
文件没有applicationId,则将库包名称用作默认名称。如果尚未从设备中完全删除该应用程序,则会遇到此问题。
我建议以下内容:
请参阅以下答案以获取更多信息:
android duplicate provider authority on apps that don't have provider
希望这可以帮助
关于android - Google Play服务和 “Duplicate Provider Authority”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35579208/