com.google.gms.common.internal.safe parcel.safe parcelable이 없습니다.
https://www.simplifiedcoding.net/firebase-cloud-messaging-android/ 에서 제공되는 FCM과 튜토리얼을 사용하여 앱에 알림 서비스를 추가하려고 합니다. 토큰을 가져오는 등 모든 작업이 완료되었으며 작동 중입니다. 하지만 이제 메시징 핸들러를 만든 후 오류가 발생하기 시작했습니다.
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 파일에서 구글 플레이 서비스와 파이어베이스의 모든 버전은 동일한 버전을 사용해야 합니다.
사용 중인 경우:
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 버그입니다. 플레이 서비스* 립처럼 파이어베이스 립을 자동으로 업그레이드할 수 없습니다.
자동 갱신
compile 'com.google.android.gms:play-services-drive:10.0.1'
자동 업데이트 없음( 수동으로 버전을 Play-services와 동일하게 업데이트
compile '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'
적용 플러그인이 종속성 아래에 있는지 확인합니다.
Google 서비스 버전이 Firebase 버전과 일치하는지 확인합니다.현재 컴파일 중인 'com.google.gms:play-services-drive:10.0.1'이(가) 컴파일 중인 'com.google'과(와) 일치하지 않습니다.firebase:firebase-messaging:9.2.1' 당신이 해야 할 일은 'com.google'을 변경하는 것입니다.firebase:firebase-firebase:9.2.1'에서 'com.google'로 이동합니다.버전이 일치하도록 firebase:firebase-filename:10.0.1'을 지정합니다.
결국 절 구해준 건
Android 스튜디오에서 Android 보기 대신 Project 보기로 전환합니다..gradle folderm 및 gradle.properties 파일을 삭제합니다.프로젝트를 정리합니다.그라들을 다시 동기화합니다.
이게 왜 효과가 있었는지 전혀 모르겠어요..gradle 폴더만 삭제해도 작업이 수행되지 않았고 새로 만든 gradle.properties는 이전 폴더와 정확히 동일합니다!하지만 제 문제는 해결되었습니다.
언급URL : https://stackoverflow.com/questions/41408514/com-google-android-gms-common-internal-safe-parcel-safe-parcelable-not-found
'programing' 카테고리의 다른 글
세 번째 게시물마다 루프를 다시 실행하시겠습니까? (Wordpress) (0) | 2023.06.24 |
---|---|
SQL의 DATTIME 열에서 DATE를 가져오는 방법은 무엇입니까? (0) | 2023.06.24 |
iPhone Simulator에 자체 서명 인증서를 추가하시겠습니까? (0) | 2023.06.24 |
SQL Server: 새 ID 열을 추가하고 열을 ID로 채우는 방법은 무엇입니까? (0) | 2023.06.24 |
고유한 이름을 가진 테이블 생성 (0) | 2023.06.24 |