Depuis que j'ai mis à jour vers Android SDK Tools 25.1.6 et le Soutien Android Référentiel 32.0.0 (ce matin), j'ai obtenu l'erreur suivante, je n'ai rien changé dans mon code, et il est encore à travailler sur mon collègue de l'ordinateur (Android SDK Tools 25.1.1 + Android Support Référentiel 30.0.0).
java.lang.IncompatibleClassChangeError: The method
'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)'
was expected to be of type virtual but instead was found to be of type direct
(declaration of 'java.lang.reflect.ArtMethod' appears in /system/framework/core-libart.jar)
at com.google.android.gms.iid.zzd.zzeb(Unknown Source)
at com.google.android.gms.iid.zzd.<init>(Unknown Source)
at com.google.android.gms.iid.zzd.<init>(Unknown Source)
at com.google.android.gms.iid.InstanceID.zza(Unknown Source)
at com.google.android.gms.iid.InstanceID.getInstance(Unknown Source)
at com.xxxxxxx.utils.RegistrationIntentService.onHandleIntent(RegistrationIntentService.java:55)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.os.HandlerThread.run(HandlerThread.java:61)
Ici est le morceau de code qui crash:
InstanceID instanceID = InstanceID.getInstance(this); // <-- crash here
String instanceIDToken = instanceID.getToken(getString(R.string.google_app_id),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
C'est lorsque j'essaye d'obtenir un jeton de Google Cloud Messaging.
Je suis de l'importation de GCM dans Gradle avec divisée play-services :
compile 'com.google.android.gms:play-services-analytics:9.0.0'
compile 'com.google.android.gms:play-services-maps:9.0.0'
compile 'com.google.android.gms:play-services-location:9.0.0'
compile 'com.google.android.gms:play-services-gcm:9.0.0'
compile 'com.google.android.gms:play-services-base:9.0.0'
MODIFIER la désactivation de la GCM a résolu le problème, donc je suppose que je devrais migrer vers Firebase des Messages dans le Cloud
EDIT2 Mon appareil de recevoir des Google Play Services 9.0 (hier, c'était 8.4.x). Maintenant, il ne plante plus, mais se plaindre de descripteur de module
Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor"
Firebase API initialization failure.
Est-ce quelqu'un a une erreur similaire, et comment le résoudre ?
FIXE
un merci spécial à @stegranet.
./gradlew -q app:dependencies --configuration compile
vous aide à identifier quelles sont les dépendances comprennent SDK 24.x
Question principale est une bibliothèque d'importation de la dernière bibliothèque de prise en charge à l'aide de +
signe au lieu d'une version. Cette cause, la cause, y compris la dernière version disponible.
Afin d'éviter +
signe dans les dépendances ;)