我試圖建立GCM在我的項目在Set up a GCM Client App on Android和Set Up Google Play Services添加依賴無法獲得供應商com.google.android.gms.measurement.AppMeasurementContentProvider
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:null參考 at android.ap在android.app.android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688) 上的android.app.ActivityThread.installContentProvider(ActivityThread.java:4748) 上的p.ActivityThread.installProvider(ActivityThread.java:5156) 。在android.os.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) 引起: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(未知 源) 在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) 在機器人.app.ActivityThread.-wrap1(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1405) 在android.os.Handler.dispatchMessage(Handler.java:102) 的機器人。 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)
還試圖與堆棧問題:
- 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'
如回答第一個鏈接試圖類路徑
classpath 'com.google.gms:google-services:1.5.0'
和answe在第二個鏈接紅色,嘗試Multidex也沒有成功。
還試圖爲應用測量加入
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="google_app_measurement_enable">0</integer>
</resources>
如Play Services Release notes建議。
注意:示例代碼正在運行。
更新:
有趣的是,同樣的錯誤,即使我只添加依賴
compile "com.google.android.gms:play-services-gcm:8.4.0"
在我的應用程序gradle這個文件
(注:只加在現有的項目一條線) 。加入後沒有錯誤
compile "com.google.android.gms:play-services-gcm:8.1.0"
即令牌工作於8.1.0。有趣,是不是?
在8.4.0中沒有'com.google.android.gms.common.internal.zzx.zzy'方法。你確定你不混合使用不同版本的多重gms模塊嗎?也許跨多個build.gradle文件。 –
將檢查並通知您。 –
只有應用程序gradle文件中具有相同版本8.4.0的所有gms模塊。 –