2017-06-12 10 views
0

、以前に失敗したクラスの再初期化を拒否:私はこのコード行を実行すると、私はエラーを取得していますcom.google.android.gms.location.LocationService

mGoogleApiClient = new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(LocationServices.API) 
      .build(); 

私はエラーがあると思いますProGuardのいくつかの誤設定に起因するものですが、何が分かりません。 Fyi、multidexが有効になっています。

私のアプリはFirebaseを使用します。

アプリは罰金動作しますが、活動がmGoogleApiClientで開始されたときにのみクラッシュします。

エラーは次のとおりです。

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) 

マイProGuardのファイル:

-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ファイル:

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' 

libsのが唯一のフォルダが含まれています改造-2.3.0.jar

答えて

0

私はそれを理解しました。 Google Playサービスのバージョンが矛盾しているようです。

gradle app:dependencies 

Firebaseは私があったより古いバージョンを使用していたことを示した。

私はFirebaseのプレイサービスの依存関係を確認するには、次のコマンドを使用していました。 Firebaseのバージョンを11.0.0に設定し、 'firebase-analytics'を削除しました。次に、マップと場所のバージョンを11.0.0に設定し、コマンドとの依存関係を再度確認します。

ここで、Google Playサービスのすべての依存関係は同じでした。今、アプリは正常に動作します。

関連する問題