Ich versuche, meiner App Benachrichtigungsdienste mithilfe von FCM und eines Tutorials hinzuzufügen, das auf https://www.simplifiedcoding.net/firebase-cloud-messaging-Android/ .__ angegeben ist Aber jetzt, nachdem ich den Messaging-Handler erstellt hatte, bekam ich einen Fehler:
Error:(22, 26) error: cannot access AbstractSafeParcelable
class file for com.google.Android.gms.common.internal.safeparcel.AbstractSafeParcelable not found
und bauen ist fehlgeschlagen. Pls Führer. Code für Gradle ist:
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:[email protected]') {
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'
In Ihrer Gradle-Datei sollten alle Versionen von google-play-service und firebase die gleiche Version verwenden.
Wie Sie verwenden:
compile 'com.google.Android.gms:play-services-drive:10.0.1'
Du solltest benutzen :
compile 'com.google.firebase:firebase-messaging:10.0.1'
// und nicht 9.2.1
Sie müssen alle Google Play-Services in derselben Version haben:
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'
Es ist ein Android-Studio-Fehler. Es bietet NICHT das automatische Upgrade von Firebase-Bibliotheken an, wie dies bei Play-Services-Bibliotheken der Fall ist.
auto-Update
compile 'com.google.Android.gms:play-services-drive:10.0.1'
kein automatisches Update (die Version muss manuell auf Play-Services * aktualisiert werden)
compile 'com.google.firebase:firebase-messaging:10.0.1'
Verwenden Sie so etwas wie:
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'
Stellen Sie sicher, dass das Apply-Plugin unter den Abhängigkeiten liegt.
Vergewissern Sie sich, dass Ihre Google-Service-Version mit Ihrer Firebase-Version übereinstimmt Kompilieren Sie derzeit 'com.google.Android.gms: play-services-drive: 10.0.1' stimmt nicht mit compile überein. 9.2.1 " Was Sie tun müssen, ist" com.google.firebase: firebase-messaging: 9.2.1 "in" com.google.firebase: firebase-messaging: 10.0.1 "zu ändern Streichhölzer.
Was hat mich endlich gerettet:
Wechseln Sie in Android Studio zur Projektansicht anstelle der Android-Ansicht . Löschen Sie .gradle folderm und auch die Datei gradle.properties . Reinigen Sie das Projekt. Gradle erneut synchronisieren.
Ich habe keine Ahnung, warum das funktioniert hat. Das Löschen nur des .gradle-Ordners erledigte den Job nicht und die neu erstellten gradle.properties sind genau die gleichen wie die alten! Aber mein Problem ist behoben.