2017-08-24 1 views
0

Mon connexion Google fonctionnait alors je devais mettre à niveau la bibliothèque d'authentification google play services du 10. au 11.2.0 puis elle a commencé à me donner cette erreur lors de l'exécution de l'applicationL'application s'est bloquée avec une erreur - java.lang.AbstractMethodError après la mise à niveau vers gms: play-services 11

java.lang.AbstractMethodError: abstract method "com.google.android.gms.common.api.Api$zze com.google.android.gms.common.api.Api$zza.zza(android.content.Context, android.os.Looper, com.google.android.gms.common.internal.zzq, java.lang.Object, com.google.android.gms.common.api.GoogleApiClient$ConnectionCallbacks, com.google.android.gms.common.api.GoogleApiClient$OnConnectionFailedListener)" 
                     at com.google.android.gms.common.api.GoogleApiClient$Builder.build(Unknown Source) 
                     at com.dishesteam.dishes.activities.LoginActivity.onCreate(LoginActivity.java:138) 
                     at android.app.Activity.performCreate(Activity.java:6609) 
                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134) 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3113) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3275) 
                     at android.app.ActivityThread.access$1000(ActivityThread.java:218) 
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1744) 
                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                     at android.os.Looper.loop(Looper.java:145) 
                     at android.app.ActivityThread.main(ActivityThread.java:7007) 
                     at java.lang.reflect.Method.invoke(Native Method) 
                     at java.lang.reflect.Method.invoke(Method.java:372) 
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 

J'ai redéposé la bibliothèque à 11.0.4 mais elle se bloque toujours. Je n'ai pas trouvé beaucoup d'informations sur cette erreur avec google play auth mais il semble que son calme commun lors de l'utilisation de réagir et Android native.

La ligne de code que l'erreur est précise -

mGoogleApiClient = new GoogleApiClient.Builder(this) 
      .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */) 
      .addApi(Auth.GOOGLE_SIGN_IN_API,gso) 
      .build(); 

Mon fichier build.gradle ressemble à ceci -

buildscript { 
repositories { 
    maven { url 'https://maven.fabric.io/public' } 
} 

dependencies { 
    classpath 'io.fabric.tools:gradle:1.22.0' 
} 
} 
apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 
apply plugin: 'com.jakewharton.butterknife' 

repositories { 
    maven { url 'https://maven.fabric.io/public' } 
    maven { 
    url "https://maven.google.com" 
    } 
} 
android { 

compileSdkVersion 25 
buildToolsVersion "25.0.2" 
dexOptions { 
    javaMaxHeapSize "4g" 
} 
defaultConfig { 
    applicationId "com.dishesteam.dishes" 
    minSdkVersion 16 
    targetSdkVersion 25 
    versionCode 4 
    versionName "1.0" 
    vectorDrawables.useSupportLibrary = true 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    signingConfig signingConfigs.config 
    multiDexEnabled true 
    jackOptions { 
     enabled true 
    } 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     signingConfig signingConfigs.config 
    } 
    debug { 
     debuggable true 
    } 
} 
productFlavors { 
} 
compileOptions { 
    targetCompatibility 1.8 
    sourceCompatibility 1.8 
} 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile('com.twitter.sdk.android:twitter:[email protected]') { 
    transitive = true; 
} 
compile('com.digits.sdk.android:digits:[email protected]') { 
    transitive = true; 
} 
compile('com.google.api-client:google-api-client-android:1.22.0') { 
    exclude group: 'org.apache.httpcomponents' 
} 
compile('com.google.apis:google-api-services-youtube:v3-rev183-1.22.0') { 
    exclude group: 'org.apache.httpcomponents' 
} 
compile files('libs/PhotoUtil.jar') 
compile 'pub.devrel:easypermissions:0.3.0' 
compile 'com.android.support:multidex:1.0.1' 
compile 'com.android.support:appcompat-v7:25.2.0' 
compile 'com.android.support:cardview-v7:25.2.0' 
compile 'com.android.support:design:25.2.0' 
compile 'com.android.support:support-v4:25.2.0' 
compile 'com.android.support:support-vector-drawable:25.2.0' 
compile 'org.greenrobot:eventbus:3.0.0' 
compile 'com.google.code.gson:gson:2.7' 
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0' 
compile 'io.reactivex:rxandroid:1.2.0' 
compile 'io.reactivex:rxjava:1.1.8' 
compile 'com.squareup.retrofit2:retrofit:2.1.0' 
compile 'com.squareup.retrofit2:converter-gson:2.1.0' 
compile 'com.squareup.okhttp3:okhttp:3.4.1' 
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' 
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9' 
compile 'com.android.support:preference-v7:25.2.0' 
compile 'com.android.support:recyclerview-v7:25.2.0' 
compile 'de.hdodenhof:circleimageview:2.1.0' 
compile 'com.github.bumptech.glide:glide:3.7.0' 
compile 'com.jakewharton:butterknife:8.6.0' 
compile 'com.google.android.gms:play-services-auth:11.0.4' 
compile 'com.google.android.gms:play-services-location:11.0.4' 
compile 'com.google.android.gms:play-services-base:11.0.4' 
compile 'com.google.firebase:firebase-messaging:10.0.1' 
testCompile 'junit:junit:4.12' 
androidTestCompile 'junit:junit:4.12' 
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0' 
} 

apply plugin: 'com.google.gms.google-services' 

Répondre

0

J'ai aussi la même configuration 11.0.4 et il fonctionne bien. Voici mon code:

mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .enableAutoManage(this /* FragmentActivity */, new GoogleApiClient.OnConnectionFailedListener() { 
        @Override 
        public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 
         Toast.makeText(MainActivity.this, "Google Play Services error.", Toast.LENGTH_SHORT).show(); 
        } 
       }/* OnConnectionFailedListener */) 
       .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
       .build(); 

et appeler plus tard la fonction suivante

Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
startActivityForResult(signInIntent, RC_SIGN_IN); 

et startActivityForResult est

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...); 
     if (requestCode == RC_SIGN_IN) { 
      GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
      if (result.isSuccess()) { 
       // Google Sign In was successful, authenticate with Firebase 
       GoogleSignInAccount account = result.getSignInAccount(); 
       progress = new ProgressDialog(this); 
       progress.setMessage("Connecting Please Wait!.."); 
       progress.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
       progress.setIndeterminate(true); 
       progress.show(); 
       firebaseAuthWithGoogle(account); 
      } else { 
       // Google Sign In failed, update UI appropriately 
       // ... 
      } 
     } 
    } 
+0

Vous ne savez pas ce qui ne va pas avec ma config ..... ce que vous utilisez google play bibliothèques? –

+0

Voici les bibliothèques: compile 'com.google.firebase: firebase-auth: 11.0.4' compile 'com.google.android.gms: play-services-auth: 11.0.4' – Sahil

0

Cette information pourrait être utile. Des modifications ont été apportées à la version 11.2.0 de Google Play Services. La valeur de compilation de votre application doit être d'au moins 26.

Vous pouvez en lire plus ici Some Updates to Apps Using Google Play services.

En regardant votre compileSdkVersion il est réglé sur 25. Essayez de changer cela à 26.

0

Je devais simplement nettoyer et construire mon projet et ça a marché ... Je na pas changer quoi que ce soit ... grâce à Sahil et Noogui pour leurs réponses tout de même.