Google Firebase signin giving status 12501 (not working), in release build variant and jks SHA : <p><strong>I know this question has been asked by many and have been answered.</strong></p>

<p>So, why am I asking this question again? Cuz I tried those solutions, and I did followed Google docs, followed tutorials and youtube. Still no luck.</p>

<p>Oright, this is what I did in my project.</p>

<p><strong>Project:</strong> GoogleSignIn</p>

<pre><code>dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath 'com.google.gms:google-services:3.0.0'
      }
</code></pre>

<p>Gradle (Module: app)</p>

<pre><code>apply plugin: 'com.android.application'

android {
    signingConfigs {
        config {
            keyAlias 'alias'
            keyPassword 'keypass'
            storeFile file('/home/reoxey/path/to/jks')
            storePassword 'storepass'
        }
    }
    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "reoxey.com.googlesignin"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            signingConfig signingConfigs.config
        }
    }
}

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'
    })
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.android.support:design:25.0.0'
    compile 'com.google.firebase:firebase-auth:9.8.0'
    compile 'com.google.android.gms:play-services-auth:9.8.0'
    testCompile 'junit:junit:4.12'
}

apply plugin: 'com.google.gms.google-services'
</code></pre>

<p>LoginActivity.java</p>

<pre><code>gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(getString(R.string.web_client_key))
                .requestEmail()
                .build();

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

        findViewById(R.id.sign_in_button).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                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);
            if (result.isSuccess()){
                Toast.makeText(getApplicationContext(),"Nailed it",Toast.LENGTH_LONG).show();
            }else {
                Snackbar.make(mLoginFormView,result.getStatus().toString(),Snackbar.LENGTH_LONG).show();
                Toast.makeText(getApplicationContext(),"Messed",Toast.LENGTH_LONG).show();

            }
        }
    }
</code></pre>

<p>string.xml</p>

<pre><code>&lt;string name="web_client_key"&gt;123456789-clientwebapplication.apps.googleusercontent.com&lt;/string&gt;
</code></pre>

<p>There is no special configuration in manifest, and I believe that I am not missing anything there.</p>

<p>google-services.json</p>

<pre><code>{
  "project_info": {
    "project_number": "{numeric-id}",
    "firebase_url": "https://project--123456789.firebaseio.com",
    "project_id": "project--123456789",
    "storage_bucket": "project--123456789.appspot.com"
  },
  "client": [
    {
      "client_info": {
        "mobilesdk_app_id": "1:{numeric-id}:android:sfdjgsdkdfgsfs",
        "android_client_info": {
          "package_name": "reoxey.com.googlesignin"
        }
      },
      "oauth_client": [
        {
          "client_id": "{numeric-id}-androidkey.apps.googleusercontent.com",
          "client_type": 1,
          "android_info": {
            "package_name": "reoxey.com.googlesignin",
            "certificate_hash": "{sha1-from-jks-file}"
          }
        },
        {
          "client_id": "{numeric-id}-webapplication.apps.googleusercontent.com",
          "client_type": 3
        }
      ],
      "api_key": [
        {
          "current_key": "{android-key}"
        }
      ],
      "services": {
        "analytics_service": {
          "status": 1
        },
        "appinvite_service": {
          "status": 2,
          "other_platform_oauth_client": [
            {
              "client_id": "{numeric-id}-webapplication.apps.googleusercontent.com",
              "client_type": 3
            }
          ]
        },
        "ads_service": {
          "status": 2
        }
      }
    }
  ],
  "configuration_version": "1"
}
</code></pre>

<p>Oright, now Firebase console.</p>

<ul>
<li><strong>created project with package name</strong></li>
<li><strong>added sha1 fingerprint generated from jks file</strong></li>
<li><strong>enabled authentication for google signin</strong></li>
</ul>

<p>that's it I guess, hope I provided everything,<br>
so what am I missing here.</p>

<p>When I click on google sign, it gives me an error with <strong>12501</strong> status code. I don't know what's wrong here. Anyone? </p>

<p>Thanks in Advance.</p>
