ho cercato di impostare GCM nel mio progetto come indicato nel Set up a GCM Client App on Android e Set Up Google Play Services dipendenza aggiuntoImpossibile ottenere fornitore com.google.android.gms.measurement.AppMeasurementContentProvider
compile "com.google.android.gms:play-services-gcm:8.4.0"
alla sezione dipendenza della mia domanda di build.gradle file.
E Nella radice Gradle classpath file del componente aggiuntivo come indicato nel progetto di esempio (Esempio clonato da $ git clone https://github.com/googlesamples/google-services.git
) come
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
classpath 'com.google.gms:google-services:2.0.0-beta6'
}
E 'costruzione di elegante, ma si blocca sul lancio con la seguente analisi dello stack:
java.lang.RuntimeException: impossibile ottenere fornitore com.google.android.gms.measurement.AppMeasurementContentProvider: java.lang.NullPointerException: riferimento null a android.ap p.ActivityThread.installProvider (ActivityThread.java:5156) a android.app.ActivityThread.installContentProviders (ActivityThread.java:4748) a android.app.ActivityThread.handleBindApplication (ActivityThread.java:4688) a android.app. ActivityThread.-wrap1 (ActivityThread.java) su android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1405) su android.os.Handler.dispatchMessage (Handler.java:102) su android.os.Looper .loop (Looper.java:148) su android.app.ActivityThread.main (ActivityThread.java:5417) su java.lang.reflect.Method.invoke (metodo nativo) su com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) a com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) causati da: java.lang.NullPointerException: riferimento null su com.google.android.gms.common.internal.zzx.zzy (fonte sconosciuta) all'indirizzo com.google.android.gms.measurement.internal.zzt.zzaU (fonte sconosciuta) su com.google. android.gms.measurement.AppMeasurementContentProvider.onCreate (Sconosciuto Source) a android.content.ContentProvider.attachInfo (ContentProvider.java:1748) a android.content.ContentProvider.attachInfo (ContentProvider.java:1723) a android.app.ActivityThread.installProvider (ActivityThread.java:5153) a android.app.ActivityThread.installContentProviders (ActivityThread.java:4748) a android.app.ActivityThread.handleBindApplication (ActivityThread.java:4688) a android .app.ActivityThread.-wrap1 (ActivityThread.java) su android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1405) su android.os.Handler.dispatchMessage (Handler.java:102) su Android. os.Looper.loop (Looper.java:148) su android.app.ActivityThread.main (ActivityThread.java:5417) su java.lang.reflect.Method.invoke (Metodo nativo) su com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) su com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 616)
provato anche in relazione alle domande di stack:
- 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'
Come risposta nel primo collegamento cercato classpath
classpath 'com.google.gms:google-services:1.5.0'
e come answe rosso nel 2 ° link, ha provato anche Multidex senza successo.
cercato anche per applicazione di misura aggiungendo
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="google_app_measurement_enable">0</integer>
</resources>
come suggerito in Play Services Release notes.
Nota: codice di esempio in esecuzione.
Aggiornamento:
cosa interessante è che lo stesso errore anche se ho solo aggiungere dipendenza
compile "com.google.android.gms:play-services-gcm:8.4.0"
nel mio file Gradle app (Nota: solo una riga aggiunta nel progetto esistente) .E non ci sono errori dopo l'aggiunta
compile "com.google.android.gms:play-services-gcm:8.1.0"
ovvero il token funziona su 8.1.0. Interessante, no?
Non esiste alcun metodo 'com.google.android.gms.common.internal.zzx.zzy' in 8.4.0. Sei sicuro di non mischiare moduli GMS con versioni diverse? Forse attraverso più file build.gradle. –
Verificherà e ti farà sapere. –
Tutti i moduli gms con la stessa versione 8.4.0 solo nel file gradle app. –