6

我試圖建立GCM在我的項目在Set up a GCM Client App on AndroidSet 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)

還試圖與堆棧問題:

  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'

如回答第一個鏈接試圖類路徑

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。有趣,是不是?

+0

在8.4.0中沒有'com.google.android.gms.common.internal.zzx.zzy'方法。你確定你不混合使用不同版本的多重gms模塊嗎?也許跨多個build.gradle文件。 –

+0

將檢查並通知您。 –

+0

只有應用程序gradle文件中具有相同版本8.4.0的所有gms模塊。 –

回答

0

從Android的工作室菜單進入:

  • 生成→清理項目

  • 生成→重建工程

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

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

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

感謝回答,但它沒有工作,甚至沒有重新啓動AS.And還提供了播放服務「從6.5版本,你可以選擇性地將Google Play服務API編譯到你的應用程序中」。所以我們添加了「compile」com.google.android .gms:play-services-gcm:8.4.0「 'compile」com.google.android.gms:play-services-gcm:8.4.0「'從dex限制轉義。 –

+0

downvoter:爲什麼? – redochka

2

你記得插件添加到結束您的應用程序級的build.gradle文件的? ...

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

特別需要將其添加到非常結束文件的

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

也有錯誤報告打開了這個問題:Issue 193112

+0

是的,我做了,沒有成功,問題我也提到第一個鏈接。並且也做了樣品中給出。請正確閱讀問題。 –

+1

@GiruBhai - 我的朋友,其實我確實是在「正確地」閱讀這個問題。你沒有提到你在Gradle文件中包含插件行。我還提到了關於這個問題的一個錯誤報告,其中有幾個。我建議你多閱讀一下這些錯誤報告。祝你好運! – SBerg413

1

試圖改變自己的類路徑依賴,而不是「類路徑」 com.google.gms :google-services:2.0.0-beta6'',使用classpath' classpath'com.google.gms:google-services:1.5.0''。

這裏是一個相關的stack overflow ticket,你可以檢查社區提供的解決方案:。據說他們已經提交了bug ticket,並且在腳本服務插件的1.5.0版本中已經實現了所述修復。

+0

我使用了'classpath'com.google.gms:google-services:1.5.0''你讀了整個問題嗎?還嘗試了'classpath'com.google.gms:google-services:2.0.0-alpha6' '在https://developers.google.com/cloud-messaging/android/client#add-config中給出 –

相關問題