缥帙各舒散,前后互相逾。这篇文章主要讲述com.google.android.gms.common.internal.safe parcel.safe parcelable not found相关的知识,希望能为你提供帮助。
我正在尝试使用FCM和我在https://www.simplifiedcoding.net/firebase-cloud-messaging-android/上给出的教程向我的应用添加通知服务一切都已完成并且像获取令牌等工作但现在在创建消息传递处理程序后,我开始收到错误:
Error:(22, 26) error: cannot access AbstractSafeParcelable
class file for com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable not found
并且构建失败。请指导。 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'
没有自动更新(需要手动将版本设置为与播放服务*相同)
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'
确保apply plugin低于依赖项。
另一答案什么最终救了我:
在android studio中,切换到Project视图而不是Android视图。删除.gradle folderm以及gradle.properties文件。清理项目。再次同步gradle。
【com.google.android.gms.common.internal.safe parcel.safe parcelable not found】我不知道为什么会这样。仅删除.gradle文件夹不能完成这项工作,新制作的gradle.properties与旧版本完全相同!但我的问题是固定的。
推荐阅读
- Android(通知不会生成默认声音)
- 当app在前台时发送推送通知
- React app,componentDidUpdate - 跳转列表,无限循环
- Android XML解析与泰米尔新闻API
- Android Studio(加载时MapView应用崩溃)
- 为什么PKWARE网站上的ZIP APPNOTE没有在其规范中提到正确的密码检查机制()
- 在React-Native Expo的App购买中()
- 从服务器[DF-AA-20]检索信息时的应用程序内购买错误 - android
- 在收到用于自动续订订阅的Apple statusUpdateNotification时,如何确定客户/用户()