【问题标题】:Google Play Services and "Duplicate Provider Authority"Google Play 服务和“重复的提供者授权”
【发布时间】:2016-02-23 13:44:19
【问题描述】:

我使用的是 Google Play Services 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

【问题讨论】:

  • 可能重复 - android.stackexchange.com/questions/18953/…。第一个引用的来源表明有人可能使用了您提供的相同的提供者权限。
  • @adjuremods 据我所知,这完全与 Google Play Services 8.4 有关。除了 Google Play 之外,我的应用程序中没有任何更改会导致问题。我没有为应用程序指定任何提供者权限。

标签: android gradle google-play google-play-services


【解决方案1】:

据我所知,当提供者权限(提供者名称)已被使用时会发生此错误。如果应用程序的 build.gradle 文件没有 applicationId,则默认使用库包名称。如果应用程序尚未从设备中完全删除,则会遇到此问题。

我建议如下:

  • 更改 build.gradle 中的 applicationId
  • 建议您的用户通过转到应用程序管理器来确保完全删除应用程序,如果看到应用程序图标并变灰,请将其删除

请参阅以下答案以获取更多信息:

android duplicate provider authority on apps that don't have provider

希望对你有帮助

【讨论】:

  • 这发生在以前从未安装过该应用程序的设备上,并且肯定与 Google Play 服务有关。使用 GPS 7.8,该应用程序将始终非常顺利地安装。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-25
  • 2023-04-09
相关资源
最近更新 更多