5

Unter Code verwende ich für Google login.Ich fügte google-services.json Datei in den App-Ordner.Ich verwende classpath 'com.google.gms:google-services:2.0.0 'in root gradle module.Ich habe mein Paket an der Entwicklerkonsole und seine richtige und ich überprüft SHA1-Schlüssel hinzugefügt, die ich durch Ausführen von Befehl keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android am Terminal (ich benutze Ubuntu) habe. Ich habe Google+ API.Ich habe OAuth Zustimmungsbildschirm und OAuth Client-ID erstellt.Still ich bekomme unter Fehler, wenn ich versuche, mich mit google-statusCode = DEVELOPER_ERROR in google login

{status = DEVELOPER_ERROR, Auflösung = null}

Ich überprüfe ähnliche Frage, konnte aber keine passende Lösung finden. -Code

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestProfile().requestId() 
      .requestEmail().requestScopes(new Scope(Scopes.PLUS_ME)) 
      .requestScopes(new Scope(Scopes.PLUS_LOGIN)) 
      .build(); 
    mGoogleApiClient = new GoogleApiClient.Builder(this) 
      .enableAutoManage(this, this /* OnConnectionFailedListener */) 
      .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
      .build(); 

    googleButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
    startActivityForResult(signInIntent, RC_SIGN_IN); 

    } 
    }); 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == RC_SIGN_IN) { 
      GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
      handleSignInResult(result); 
     } 
    } 
    private void handleSignInResult(GoogleSignInResult result) { 
     if (result.isSuccess()) { 
      // Signed in successfully, show authenticated UI. 
      GoogleSignInAccount acct = result.getSignInAccount(); 

     } else { 
      // Signed out, show unauthenticated UI. 
      // updateUI(false); 
     } 
    } 
    @Override 
    protected void onStart() { 
     super.onStart(); 
     mGoogleApiClient.connect(); 
    } 
    @Override 
    protected void onStop() { 
     super.onStop(); 
     if(mGoogleApiClient.isConnected()) 
     { 
      mGoogleApiClient.disconnect(); 
     } 
    } 
    @Override 
    protected void onResume() { 
     super.onResume(); 
     if(mGoogleApiClient.isConnected()) 
     { 
      mGoogleApiClient.connect(); 
     } 
    } 

Manifest

<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <!-- To use account credentials --> 
    <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 
    <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

Antwort

3

durch Zugabe von SHA-1 von Debug-Schlüsselspeicher in Feuerbasis Konsole für meine app gelöst, die hier C: \ Benutzer \ meine name.android , wenn Sie Schlüsselspeicher für Release machen ändern Sie es in Firebase-Konsole

5

Es ist wahrscheinlich, dass Ihr Problem darin besteht, dass Sie die SHA1 aus der ~/.android/debug.keystore, aber nicht verwendet, um Ihre Build zu unterzeichnen.

  1. Gehen Sie zur Moduloptionen Registerkarte Signieren und ein Profil mit dem einzigen Feld Store File Satz /Users/<your_user>/.android/debug.keystore

  2. Auf dem Flavors Reiter holen Sie es in dem Signing Config Dropdown-hinzuzufügen.

  3. Wählen Sie auf der Registerkarte Build-Typen in der Dropdown-Liste Signing Config für Ihren Build-Typ (wahrscheinlich Debug).

  4. Aufräumen und neu aufbauen.

5

Wenn Sie in zwei verschiedenen Computer arbeiten, müssen Sie erneut die SHA1 erzeugen und zu console.firebase.google.com hinzuzufügen, laden Sie die Google-service.json und fügen Sie in Ihrem Projekt

6

Ich habe das gleiche Problem und this solution hat funktioniert. Hoffe, das wird dir und anderen helfen.

Wenden Sie das Plugin an: 'com.android.Anwendung‘

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.3" 
    defaultConfig { 

Sicher Machen Sie diese applicationId ist die gleiche wie Ihr Paketnamen in Manifest-Datei (Groß- und Kleinschreibung Angelegenheiten)

 applicationId "com.example" 
     minSdkVersion 17 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 
+0

+1 hier. Aus irgendeinem Grund (Benutzerfehler?) Wurde die App-ID in meinem Manifest "com.company.appname" in der build.gradle-Datei meiner App umgekehrt: "company.com.appname". Das zu korrigieren hat das Problem für mich gelöst. – Zoccadoum

Verwandte Themen