Ablehnung der re-init auf zuvor gescheitert-Klasse,com.google.android.gms.Lage.LocationService
Ich erhalte eine Fehlermeldung wenn ich diese code-Zeile:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
Ich denke der Fehler wird verursacht durch ein Fehlkonfiguration im ProGuard, aber ich kann nicht herausfinden, was. Fyi, multidex aktiviert ist.
Wenn es darauf ankommt, die meine app nutzt FB.
Die app läuft gut, aber stürzt nur ab, wenn die Aktivität gestartet wird, ist die mGoogleApiClient.
Der Fehler ist:
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.location.LocationServices$zza>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/internal/zzzv$zza;
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.google.android.gms.location.LocationServices.<clinit>() ((null):-1)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.glennruysschaert.arbitrium.Foursquare.FoursquarePlacePickerActivity.onCreate(android.os.Bundle) (FoursquarePlacePickerActivity.java:81)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6760)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1134)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2681)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2814)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1527)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.os.Looper.loop() (Looper.java:154)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6290)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.internal.zzzv$zza" on path: DexPathList[[zip file "/data/app/com.glennruysschaert.arbitrium-2/base.apk"],nativeLibraryDirectories=[/data/app/com.glennruysschaert.arbitrium-2/lib/arm64, /system/lib64, /vendor/lib64]]
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.google.android.gms.location.LocationServices.<clinit>() ((null):-1)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.glennruysschaert.arbitrium.Foursquare.FoursquarePlacePickerActivity.onCreate(android.os.Bundle) (FoursquarePlacePickerActivity.java:81)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6760)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1134)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2681)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2814)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1527)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.os.Looper.loop() (Looper.java:154)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6290)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
06-12 16:58:33.620 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzarl$zza>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/location/LocationServices$zza;
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.google.android.gms.location.LocationServices.<clinit>() ((null):-1)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.glennruysschaert.arbitrium.Foursquare.FoursquarePlacePickerActivity.onCreate(android.os.Bundle) (FoursquarePlacePickerActivity.java:81)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6760)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1134)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2681)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2814)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1527)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.os.Looper.loop() (Looper.java:154)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6290)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:886)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:776)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: Caused by: java.lang.ClassNotFoundException: com.google.android.gms.location.LocationServices$zza
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Class java.lang.VMClassLoader.findLoadedClass!(java.lang.ClassLoader, java.lang.String) (VMClassLoader.java:-2)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Class java.lang.ClassLoader.findLoadedClass(java.lang.String) (ClassLoader.java:742)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:362)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
06-12 16:58:33.621 24826-24826/com.glennruysschaert.arbitrium I/art: at void com.google.android.gms.location.LocationServices.<clinit>() ((null):-1)
Meine ProGuard-Datei:
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
-dontwarn okio.**
-dontwarn javax.annotation.**
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**
Gradle-Datei:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "MYAPPID..."
minSdkVersion 19
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
compile fileTree(include: ['*.jar'], dir: 'libs')
//Firebase
compile 'com.google.firebase:firebase-core:10.0.1'
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:24.0.0'
compile 'com.firebaseui:firebase-ui:1.2.0'
compile 'com.google.firebase:firebase-analytics:9.2.0'
//Circle Image
compile 'de.hdodenhof:circleimageview:2.1.0'
//Glide - Offline image store library
compile 'com.github.bumptech.glide:glide:4.0.0-RC0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC0'
//Info dialog: https://github.com/yarolegovich/LovelyDialog
compile 'com.yarolegovich:lovely-dialog:1.0.7'
//Calendar like transition between activities: compile 'com.kogitune:pre-lollipop-activity-transition:1.x.x'
compile 'com.kogitune:pre-lollipop-activity-transition:1.3.3'
//Control animations: https://github.com/andkulikov/transitions-everywhere
compile "com.andkulikov:transitionseverywhere:1.7.4"
//Http requests: https://github.com/square/retrofit
//Play services
//compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.google.android.gms:play-services-maps:10.0.1'
compile 'com.google.android.gms:play-services-location:10.0.1'
//Multidex
compile 'com.android.support:multidex:1.0.1'
}
apply plugin: 'com.google.gms.google-services'
Den libs-Ordner enthält nur: retrofit-2.3.0.jar
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es herausgefunden. Ich scheint aufgrund der widersprüchlichen Google Play Services Versionen.
Benutzte ich den folgenden Befehl zum prüfen der Play-Dienste-Abhängigkeiten von FB:
Gezeigt, dass der FB wurde mit einer älteren version, als ich es war.
Also ich habe die FB version 11.0.0 und entfernt 'FB-analytics'. Dann habe ich auch die Karten und Lage version 11.0.0 und überprüfen Sie die Abhängigkeiten wieder mit dem Befehl.
Nun alle Abhängigkeiten von Google-Play-Dienste waren die gleichen. Jetzt die app läuft wunderbar.