web-dev-qa-db-fra.com

com.google.Android.gms.common.internal.safe parcel.safe parcelable introuvable

J'essaie d'ajouter des services de notification à mon application en utilisant FCM et le didacticiel donné sur https://www.simplifiedcoding.net/firebase-cloud-moudaging-Android/ Tout a été fait et fonctionne comme obtenir un jeton, etc. Mais maintenant, après la création du gestionnaire de messagerie, j'ai commencé à obtenir une erreur:

Error:(22, 26) error: cannot access AbstractSafeParcelable
class file for com.google.Android.gms.common.internal.safeparcel.AbstractSafeParcelable not found

et la construction est échouée. Guide de Pls. code pour gradle est:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }

    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.Android.application'
apply plugin: 'io.fabric'


repositories {
    maven { url 'https://maven.fabric.io/public' }
    maven {
        url "https://s3-ap-southeast-1.amazonaws.com/godel-release/godel/"
    }
}


Android {
    compileSdkVersion 25
    buildToolsVersion "24.0.3"
    useLibrary 'org.Apache.http.legacy'
    defaultConfig {
        applicationId "jss.smartapp"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {

            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'

        }
    }


    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'
    compile files('libs/activation.jar')
    compile files('libs/additionnal.jar')
//Apache IO
    compile files('libs/commons-io-2.5.jar')
    compile 'com.Android.support:design:25.0.0'
    compile 'com.Android.support:appcompat-v7:25.0.0'
//Crashlytics
    compile('com.crashlytics.sdk.Android:crashlytics:2.6.5@aar') {
        transitive = true;
    }
    //Dropbox
    compile 'com.dropbox.core:dropbox-core-sdk:2.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
//FTP
    compile files('libs/ftp4j-1.7.2.jar')
//Http
    compile 'com.squareup.okhttp3:okhttp:3.4.2'
//Instamojo
    compile 'com.instamojo:Android-sdk:+'
//Material Design Didalogs
    compile 'com.afollestad.material-dialogs:commons:0.9.1.0'
    compile 'org.Apache.httpcomponents:httpclient-Android:4.3.5.1'
//GSON
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
    compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
//multidex dependency
    compile 'com.Android.support:multidex:1.0.1'
    //box dependencies
    compile 'com.box:box-Java-sdk:2.1.1'
    compile 'com.box:box-Android-sdk:3.0.2'
//google drive dependency
    compile 'com.google.Android.gms:play-services-drive:10.0.1'
    //one drive dependency
    compile('com.OneDrive.sdk:OneDrive-sdk-Android:1.2+') {
        transitive = false
    }
    compile('com.Microsoft.services.msa:msa-auth:0.8.+')
    compile('com.Microsoft.aad:adal:1.1.+')

    //justify test
    compile 'com.github.bluejamesbond:textjustify-Android:2.1.6'

    //image downnloader
    /*compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'*/
//Glide Image downloading
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.Android.support:support-v4:25.1.0'
    compile 'com.google.firebase:firebase-messaging:9.2.1'

}
apply plugin: 'com.google.gms.google-services'
50
Panache

Dans votre fichier Gradle, toutes les versions de google-play-service et de Firebase doivent utiliser la version same.

Comme vous utilisez: 

 compile 'com.google.Android.gms:play-services-drive:10.0.1'

Tu devrais utiliser :

compile 'com.google.firebase:firebase-messaging:10.0.1' // et non 9.2.1

151
GuillaumeAgis

Vous devez avoir toute la ligne de service google play dans la même version:

compile 'com.google.Android.gms:play-services:11.0.1'
compile 'com.google.Android.gms:play-services-maps:11.0.1'
compile 'com.google.firebase:firebase-core:11.0.1'
compile 'com.google.firebase:firebase-messaging:11.0.1'
15
Qohat Pretel Polo

C'est un bogue d'Android Studio, il n'offre PAS de mettre à jour automatiquement les bibliothèques firebase comme pour les bibliothèques play-services *.

mise à jour automatique

compile 'com.google.Android.gms:play-services-drive:10.0.1'

pas de mise à jour automatique (il est nécessaire de monter manuellement la version au même titre que play-services *)

compile 'com.google.firebase:firebase-messaging:10.0.1'
11
David A

Utilisez quelque chose comme ceci:

dependencies {
    compile 'com.google.Android.gms:play-services:11.0.1'
    compile 'com.google.firebase:firebase-core:11.0.1'
    compile 'com.google.firebase:firebase-messaging:11.0.1'
}
apply plugin: 'com.google.gms.google-services'

Assurez-vous que le plugin apply vient en dessous des dépendances.

2
garry

Assurez-vous que la version de votre service Google correspond à votre version de Firebase . Compiler actuellement 'com.google.Android.gms: play-services-drive: 10.0.1' ne correspond pas à la compilation 'com.google.firebase: firebase-messaging: 9.2.1 ' Ce que vous devez faire est de changer' com.google.firebase: firebase-messaging: 9.2.1 'en' com.google.firebase: firebase-messaging: 10.0.1 'pour que les versions allumettes.

2
Alfred Ayi-bonte

Ce qui m'a finalement sauvé:

Dans Android studio, basculez vers la vue Projet au lieu de la vue Android . Supprimez .gradle folderm ainsi que le fichier gradle.properties . Nettoyez le projet. Sync gradle à nouveau. 

Je ne sais pas pourquoi cela a fonctionné. Supprimer uniquement le dossier .gradle n'a pas suffi et le fichier gradle.properties nouvellement créé est exactement le même que l'ancien! Mais mon problème est résolu. 

0
Tina