簡體   English   中英

無法獲得提供商com.google.android.gms.measurement.AppMeasurementContentProvider

[英]Unable to get provider com.google.android.gms.measurement.AppMeasurementContentProvider

我試圖在我的項目中設置 GCM,如在Android設置 GCM客戶端應用程序設置Google Play服務添加的依賴關系中所示

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

到我的應用程序的build.gradle文件的依賴項部分。

並在根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'
}

它正在構建正常,但它在啟動時崩潰,具有以下堆棧跟蹤:

java.lang.RuntimeException:無法獲取提供者com.google.android.gms.measurement.AppMeasurementContentProvider:java.lang.NullPointerException:android.app上的android.app.ActivityThread.installProvider(ActivityThread.java:5156)中的null引用。 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.app.Handler.dispatchMessage(Handler.java:102)android.app.Looper.loop(Looper.java:148)android.app.ActivityThread.main(ActivityThread.java:5417) )com.android.internal.os.ZygoteInit.main中的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)中的java.lang.reflect.Method.invoke(Native Method)(ZygoteInit) .java:616)引起:java.lang.NullPointerException:com.google.android.gms.common.internal.zzx.zzy(Unknown Sou)的null引用 rce)com.google.android.gms.measurement.internal.zzt.zzaU(未知來源)at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source)at android.content.ContentProvider.attachInfo(ContentProvider .java:1748)在Android.app.ActivityThread.installProviders(ActivityThread.java:4748)的android.app.AtentThread.installProvider(ActivityThread.java:5153)的android.content.ContentProvider.attachInfo(ContentProvider.java:1723)在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.app.Looper.loop(Looper.java:148)的android.app.ActivityThread.main(ActivityThread.java:5417),位於java.lang.reflect.Method。在com.android.interna的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)中調用(Native Method) l.os.ZygoteInit.main(ZygoteInit.java:616)

還試過相關的堆棧問題:

  1. 在啟用Proguard的情況下將Play服務從8.1更新到8.3
  2. 某些設備出錯 - 無法找到“com.google.android.gms.measurement.internal.zzz”類

正如第一個鏈接中的回答嘗試了classpath

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

並且在第二個鏈接中回答,嘗試過Multidex也沒有成功。

還嘗試了應用程序測量添加

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

正如Play服務發行說明中所述

注意:示例代碼正在運行。


更新:

即使我只添加依賴項,有趣的是同樣的錯誤

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

在我的app gradle文件中(注意:在現有項目中只添加了一行)。添加后沒有錯誤

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

即令牌適用於8.1.0 。有趣,不是嗎?

你記得的插件添加到您的應用一級的build.gradle文件的結尾 ...

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

特別需要將其添加到該文件的末尾

請看這里參考: https//github.com/googlesamples/google-services/blob/master/android/gcm/app/build.gradle

此問題還有一個錯誤報告: 問題193112

從Android工作室菜單轉到:

  • 建設→清潔項目

  • 構建→重建項目

  • 運行應用程序。 沒有更多的崩潰。

注意:我使用的是最新版本的播放服務:

compile 'com.google.android.gms:play-services:8.4.0'

嘗試更改類路徑依賴項,而不是' classpath'com.google.gms:google-services:2.0.0-beta6 '',使用classpath'classpath'com.google.gms:google-services:1.5.0' ' 。

這是一個相關的堆棧溢出票 ,您可以檢查社區提供的解決方案: 據說它們已經提交了錯誤票據,並且已經在腳本服務插件的1.5.0版本中實現了所述修復程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM