无法获取提供者com.google.android.gms.measurement.AppMeasurementContentProvider [英] Unable to get provider com.google.android.gms.measurement.AppMeasurementContentProvider

查看:248
本文介绍了无法获取提供者com.google.android.gms.measurement.AppMeasurementContentProvider的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试按照设置GCM客户端中的说明在项目中设置GCM Android版应用设置Google Play服务增加了依赖性

I tried to Set up GCM in my project as given in Set up a GCM Client App on Android and to Set Up Google Play Services added dependency

  compile "com.google.android.gms:play-services-gcm:8.4.0"

转到应用程序 build.gradle 文件的依赖项部分.

to the dependency section of my application's build.gradle file.

然后在根gradle文件中添加示例项目(从$ git clone https://github.com/googlesamples/google-services.git克隆的示例)中给定的类路径为

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

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:无法获取提供程序 com.google.android.gms.measurement.AppMeasurementContentProvider: java.lang.NullPointerException:空引用 在android.app.ActivityThread.installProvider(ActivityThread.java:5156) 在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(本机方法) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 原因:java.lang.NullPointerException:空引用 位于com.google.android.gms.common.internal.zzx.zzy(未知来源) com.google.android.gms.measurement.internal.zzt.zzaU(未知来源) 在com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(未知 来源) 在android.content.ContentProvider.attachInfo(ContentProvider.java:1748) 在android.content.ContentProvider.attachInfo(ContentProvider.java: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(本机方法) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

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)

还尝试了相关的堆栈问题:

Also tried related stack questions:

  1. 从8.1更新Play服务启用Proguard的情况下达到8.3
  2. 某些设备上的错误-找不到班 'com.google.android.gms.measurement.internal.zzz'
  1. Updating Play services from 8.1 to 8.3 with Proguard enabled
  2. Error on some devices - couldn't find class 'com.google.android.gms.measurement.internal.zzz'

在第一个链接中回答,尝试使用类路径

As answered in 1st link tried classpath

classpath 'com.google.gms:google-services:1.5.0'

并且在第二个链接中回答,Multidex也没有成功.

and as answered in 2nd link,tried Multidex also with no success.

还尝试了应用程序测量添加

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <integer name="google_app_measurement_enable">0</integer>
</resources>

根据 Play服务发行说明中的建议.

注意:示例代码正在运行.

Note : sample code running.

更新:

即使我仅添加依赖项,有趣的是那个错误

Interesting thing is that same error even if I add only dependency

  compile "com.google.android.gms:play-services-gcm:8.4.0"

在我的应用gradle文件中(注意:在现有项目中仅添加了一行).添加后没有错误

in my app gradle file(Note : Only one line added in Existing project).And there is no error after adding

compile "com.google.android.gms:play-services-gcm:8.1.0"

即该令牌适用于 8.1.0 .是不是很有趣?

i.e. the token works on 8.1.0.Interesting,isn't?

推荐答案

您是否记得将插件添加到应用级build.gradle文件的 end 了? ...

Did you remember to add the plugin to the end of your app-level build.gradle file? ...

apply plugin: 'com.google.gms.google-services'

您特别需要将其添加到文件的两端.

You specifically need to add it to the very end of the file.

在这里参考: https://github.com/googlesamples/google-services/blob/master/android/gcm/app/build.gradle

关于此问题,还打开了一个错误报告:问题193112

There is also a bug report opened on this issue: Issue 193112

这篇关于无法获取提供者com.google.android.gms.measurement.AppMeasurementContentProvider的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆