java 无法获取提供程序 com.google.android.gms.measurement.AppMeasurementContentProvider
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/36098918/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Unable to get provider com.google.android.gms.measurement.AppMeasurementContentProvider
提问by Giru Bhai
I tried to Set up GCM in my project as given in Set up a GCM Client App on Androidand to Set Up Google Play Servicesadded dependency
我尝试在我的项目中设置GCM,如在 Android上设置GCM 客户端应用程序和设置 Google Play 服务添加的依赖项中所述
compile "com.google.android.gms:play-services-gcm:8.4.0"
to the dependency section of my application's build.gradlefile.
到我的应用程序的build.gradle文件的依赖项部分。
And In the root gradle file add classpath as given in sample project(Sample cloned from $ git clone https://github.com/googlesamples/google-services.git
) as
并在根 gradle 文件中添加示例项目(从示例克隆的示例$ git clone https://github.com/googlesamples/google-services.git
)中给出的类路径作为
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
classpath 'com.google.gms:google-services:2.0.0-beta6'
}
It's building fine, but it crashes on launch with the following stack trace :
它构建良好,但在启动时崩溃并显示以下堆栈跟踪:
java.lang.RuntimeException: Unable to get provider com.google.android.gms.measurement.AppMeasurementContentProvider: java.lang.NullPointerException: null reference at android.app.ActivityThread.installProvider(ActivityThread.java:5156) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688) at android.app.ActivityThread.-wrap1(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: null reference at com.google.android.gms.common.internal.zzx.zzy(Unknown Source) at com.google.android.gms.measurement.internal.zzt.zzaU(Unknown Source) at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source) at android.content.ContentProvider.attachInfo(ContentProvider.java:1748) at android.content.ContentProvider.attachInfo(ContentProvider.java:1723) at android.app.ActivityThread.installProvider(ActivityThread.java:5153) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)? at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)? at android.app.ActivityThread.-wrap1(ActivityThread.java)? at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)? at android.os.Handler.dispatchMessage(Handler.java:102)? at android.os.Looper.loop(Looper.java:148)? at android.app.ActivityThread.main(ActivityThread.java:5417)? at java.lang.reflect.Method.invoke(Native Method)? at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)? at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
1723) 在 android.app.ActivityThread.installProvider(ActivityThread.java:5153) 在 android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)?在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)?在 android.app.ActivityThread.-wrap1(ActivityThread.java)?在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)?在 android.os.Handler.dispatchMessage(Handler.java: 102)?在 android.os.Looper.loop(Looper.java:148)?在 android.app.ActivityThread.main(ActivityThread.java:5417)?在 java.lang.reflect.Method.invoke(Native Method)?在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)?在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 主要(ActivityThread.java:5417)?在 java.lang.reflect.Method.invoke(Native Method)?在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)?在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 主要(ActivityThread.java:5417)?在 java.lang.reflect.Method.invoke(Native Method)?在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)?在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Also tried related stack questions:
还尝试了相关的堆栈问题:
- Updating Play services from 8.1 to 8.3 with Proguard enabled
- Error on some devices - couldn't find class 'com.google.android.gms.measurement.internal.zzz'
- 在启用 Proguard 的情况下将 Play 服务从 8.1 更新到 8.3
- 某些设备上的错误 - 找不到类“com.google.android.gms.measurement.internal.zzz”
As answered in 1st link tried classpath
正如第一个链接中所回答的,尝试了类路径
classpath 'com.google.gms:google-services:1.5.0'
and as answered in 2nd link,tried Multidex also with no success.
并在第二个链接中回答,尝试 Multidex 也没有成功。
Also tried for Application Measurementadding
还尝试了应用程序测量添加
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="google_app_measurement_enable">0</integer>
</resources>
as suggested in Play Services Release notes.
正如Play 服务发行说明中所建议的那样。
Note : sample code running.
注意:示例代码正在运行。
Update :
更新 :
Interesting thing is that same error even if I add only dependency
有趣的是,即使我只添加依赖项,也会出现同样的错误
compile "com.google.android.gms:play-services-gcm:8.4.0"
in my app gradle file(Note : Only one line added in Existing project).And there is no error after adding
在我的应用程序 gradle 文件中(注意:在现有项目中只添加了一行)。添加后没有错误
compile "com.google.android.gms:play-services-gcm:8.1.0"
i.e. the token works on 8.1.0.Interesting,isn't?
即令牌在8.1.0 上工作。有趣,不是吗?
回答by SBerg413
Did you remember to add the plugin to the endof your app-level build.gradle file? ...
你记得插件添加到年底您的应用程序级的build.gradle的文件?...
apply plugin: 'com.google.gms.google-services'
You specifically need to add it to the very endof the file.
特别需要将其添加到最末端的文件。
Take a look here for reference: https://github.com/googlesamples/google-services/blob/master/android/gcm/app/build.gradle
看看这里作为参考:https: //github.com/googlesamples/google-services/blob/master/android/gcm/app/build.gradle
There is also a bug report opened on this issue: Issue 193112
还有一个关于这个问题的错误报告:问题 193112
回答by Android Enthusiast
Try to change your classpath dependency, instead of 'classpath 'com.google.gms:google-services:2.0.0-beta6'', use classpath ' classpath 'com.google.gms:google-services:1.5.0''.
尝试更改您的类路径依赖项,而不是 ' classpath 'com.google.gms:google-services:2.0.0-beta6'',使用类路径 ' classpath 'com.google.gms:google-services:1.5.0'' .
Here is a related stack overflow ticket, you may check the solution offered by community:. It was stated that they already filed bug ticket and the said fix has been implemented in release 1.5.0 of the foot service plugin.
这是一个相关的 堆栈溢出票,您可以查看社区提供的解决方案:。据说他们已经提交了错误票,并且该修复已在足部服务插件的 1.5.0 版中实施。
回答by redochka
From Android studio menu go to:
从 Android Studio 菜单转到:
Build → Clean Project
Build → Rebuild Project
Run the app. No more crash.
构建 → 清理项目
构建 → 重建项目
运行应用程序。没有更多的崩溃。
Note: I am using the latest version of play-services:
注意:我使用的是最新版本的播放服务:
compile 'com.google.android.gms:play-services:8.4.0'