未findcom.google.android.gms.common.internal.safe parcel.safe parcelable

我想添加通知服务到我的应用程序使用FCM和教程给予在https://www.simplifiedcoding.net/firebase-cloud-messaging-android/一切都已经完成,像获取令牌等工作,但现在创build消息处理程序,我开始得到错误:

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

并build立失败。 请指导。 gradle的代码是:

 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' 

在您的Gradle文件中,google-play-service和firebase的所有版本都应该使用相同的版本

正如你所使用的:

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

你应该使用:

compile 'com.google.firebase:firebase-messaging:10.0.1' //而不是9.2.1

您必须拥有相同版本的所有Google Play服务专线:

 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' 

这是一个Android Studio错误,它不提供自动升级firebase库,就像它为play-services * libs一样。

自动更新

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

没有自动更新(需要手动将版本升级到play-services *)

 compile 'com.google.firebase:firebase-messaging:10.0.1' 

确保您的Google服务版本符合您的Firebase版本。 目前正在编译'com.google.android.gms:play-services-drive:10.0.1'与编译'com.google.firebase:firebase-messaging:9.2.1'不匹配'您必须做的是更改'com .google.firebase:firebase-messaging:9.2.1“更改为”com.google.firebase:firebase-messaging:10.0.1“,以便版本匹配。

使用这样的东西:

 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' 

确保应用插件下面的依赖关系。