Error: Status{statusCode=DEVELOPER_ERROR, resolution=null}

AndroidGoogle Plus

Android Problem Overview


I am usign gplus sign in, and getting this error at time I am in onActivityResult....

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

    if (requestCode == 0) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        if (result.isSuccess()) {

            GoogleSignInAccount acct = result.getSignInAccount();
//                Log.d("Result","details"+ acct.getDisplayName() + acct.getEmail());

            mEmail = acct.getEmail();
            String mFullName = acct.getDisplayName();
            String mGoogleplusId = acct.getId();


            SocialUser user = new SocialUser();
            user.setType("googleplus");

            user.setEmail(mEmail);
            user.setFullname(mFullName);
            user.setId(mGoogleplusId + "");
            loginParams.put("email_id", mEmail);
            loginParams.put("googlePlusId", mGoogleplusId);
            loginParams.put("full_name", mFullName);
            loginParams.put("registrationType", "googleplus");
            SignUpService(user);


        } else {
            Toast.makeText(CustomerLogIn.this, "Unable to fetch data, Proceed manually", Toast.LENGTH_SHORT).show();
        }
    }
}

And I am calling for gplus login on button click. On clcking button following code is executed....

 GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .build();
    mGoogleApiClient = new GoogleApiClient.Builder(CustomerLogIn.this)

            .addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
            .build();


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

And I am geetng this error...

Status{statusCode=DEVELOPER_ERROR, resolution=null}

on this line....

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);

Please suggest the solution.

Android Solutions


Solution 1 - Android

You need to add your SHA1 key to firebase console configuration. You can do it in this way:

Firebase console ( https://console.firebase.google.com ) -> your project -> configuration -> scroll to

enter image description here

You can find your SHA1 key running "Signing report" from Android Studio:

enter image description here

Then, look the "run tab" and click the button:

enter image description here

I think it's the easier way. Hope this help.

Solution 2 - Android

Probably you created the configuration file using the SHA1 of your production token, use the androiddebugkey alias to gather the SHA1 corresponding to the debug version of your app and copy the configuration file to the 'app' directory, you should have both configuration files (one for debug purposes and another for production environment).

Based on the walkthrough published in https://developers.google.com/identity/sign-in/android/start

Solution 3 - Android

enter image description here

The way I fixed it was by picking up the key corresponding to the highlighted text. Due to the confusing usage of the word 'server' in Firebase's documentation page I was picking up the Server key . Which was the reason for the problem.

You can find the key here.

Solution 4 - Android

I had the same issue and I got it working by doing these steps:

1.Add DEBUG_KEYSTORE SHA1 fingerprint to the firebase project. use the following command(MAC/LINUX)

  keytool -exportcert -list -v \-alias androiddebugkey -keystore ~/.android/debug.keystore  

2.Now Generate a signed apk of your project. The process includes generating a keystore for your app's release version.

  Copy the path of the newly generated .jks file.

3.Now generate RELEASE_KEYSTORE SHA1 fingerprint using the following command

  keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME

4.Copy the new SHA1 from the output and add it as another SHA1 fingerprint in your firebase application console.

Now you are good to go! ---- Hope! it helps.

Solution 5 - Android

I was having the same problem, how I solved it is that I had different applicationId in my gradle file than the package name in my manifest file. And I used to applicationId to create the json file. I had to change my package name to what my applicationId was and that fixed it for me.

Solution 6 - Android

Alternatively to the answers provided here, you can use Android Studio's Firebase Assistant to automatically add your SHA-1 to your project with the click of some buttons.

In Android Studio, go to Tools > Firebase > Select 'Authentication' and click the link that says 'Email and password authentication'.

This will bring you a little tutorial on how to integrate Authentication to your project, but since you've probably done all that, just click 'Connect to Firebase' and you're done.

Solution 7 - Android

It's an old question, but I have been stuck with error 10 (DEVELOPER_ERROR) lately, because I was using the Android client ID, I created in the google developer console.

The solution for me was to use the Android credentials in google developer console only to indicate the SHA key of my apk and to use the client ID of the Web application (!) credentials from the google developer console in my cordova application.

config.xml:

<plugin name="cordova-plugin-googleplus" spec="^5.3.0">
    <variable name="REVERSED_CLIENT_ID" value="com.googleusercontent.apps.[web-application-client-id]" />
    <variable name="WEB_APPLICATION_CLIENT_ID" value="[web-application-client-id].apps.googleusercontent.com" />
</plugin>

code:

window.plugins.googleplus.login(
    {
       'webClientId': '[web-application-client-id].apps.googleusercontent.com'
    }, 
    ...

I don't use firebase.

Solution 8 - Android

You might have generated and added wrong SHA1 key. Use following steps to generate SHA1 key in Android studio:

  1. Click on Gradle (From Right Side Panel, you will see Gradle Bar)
  2. Click on Refresh (Click on Refresh from Gradle Bar, you will see List Gradle scripts of your Project)
  3. Click on Your Project (Your Project Name form List (root))
  4. Click on Tasks
  5. Click on Android
  6. Double Click on signingReport (You will get SHA1 and MD5 in Run Bar(Sometimes it will be in Gradle Console))

Now add this SHA1 key in your firebase android project.

Solution 9 - Android

Please Put correct json file in root of the android project
For more Refer here: https://coderzpassion.com/android-working-latest-google-plus-login-api/

Solution 10 - Android

The error is caused because the SHA-1 checksum of the debug or release key is not included in the firebase/google console.

First generate key using following command:

keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

Then copy the SHA-1 checksum and go to:

> Firebase Console > Your project > Settings of the app > Add Fingerprint

Solution 11 - Android

For me it was working when I first implemented it, but stopped after a few days of development, with the mentioned error message.

I've solved the issue with these steps:

  1. I have added the sha-256 fingerprint on top of the sha-1 fingerprint that I already had in the firebase console. (Not sure if this step is required)
  2. I have downloaded google-services.json file again and replaced the old file.
  3. re-installed the app

and it worked

Solution 12 - Android

I came across this error in my firebase app. It was fixed when I added therequestIdToken(activity.getString(R.string.default_web_client_id)) part below.

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail().requestIdToken(activity.getString(R.string.default_web_client_id))
        .build();

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

    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(apiClient);
    activity.startActivityForResult(signInIntent, RC_GOOGLE_SIGN_IN);

Solution 13 - Android

I got this error when i updated my json config file with a new google account.

Uninstalling the application manually and reinstalling the app worked for me.

Solution 14 - Android

For anyone releasing an app, you need a special fingerprint from your keystore file. No wonder why I was getting this error just for the release version. https://stackoverflow.com/questions/12214467/how-to-obtain-signing-certificate-fingerprint-sha1-for-oauth-2-0-on-android

Solution 15 - Android

Ensure you enable Google Sign-In in under Authentication in the Firebase console.

Solution 16 - Android

I solved my problem by use right server_client_id in this line :

String serverClientId = getString(R.string.server_client_id);

I used the wrong code.

Solution 17 - Android

Some Services like google login require SHA1 fingerprint to be added to your firebase console.

I missed adding SHA fingerprint in firebase console. You can do so by going in FireBase Console > project setting > Add fingerprint option.

You can generate SHA1 Fingerprint by a very easy way https://www.youtube.com/watch?v=FczARQ244GE

After that I was doing one more mistake

After generationg SHA1 key fom above method. I copied the wrong invalid SHA1 key which was an expired one. So make sure the SHA1 key that you are copying from above way output is a valid one (Check the valid untill value as well of SHA1 Key)

Also make sure that the package name(x.y.z) that you have added in firebase is same as used in your android code.

Also make sure to use correct AppID

Solution 18 - Android

After long invistigation I have found a solution. Actually this error Error: Status{statusCode=DEVELOPER_ERROR, resolution=null} points to incorrect SHA-1 OR Incorrect package name OR something else?. In my case, I add debug keyword to end of my package name com.sample.app => com.sample.app.debug

Solution 19 - Android

I struggled with this issue because I made a copy of my application with changing the package name. I add a new project for it at Firebase. My mistake was that I forgot to change the server's client ID to the one in the new Firebase project.

more details under authintication with Firebase sectoin here

Solution 20 - Android

When you let Google manage your app signing, you can find the SHA-1 key in the Google Play console. On the sidebar menu look for 'Configuration -> App integrity'. Here you will find the SHA-1 key for the signed app.

You also see the SHA-1 key for the signed app you've uploaded to the store.

Solution 21 - Android

don't forget to add release finger print. the former answers tell just add debug finger print which your problem just solve when you run your app in debug mode. if you release your app you can see that your problem is still remain . then make sure you added release finger print too .

Solution 22 - Android

If you're running into this issue with a released version (production):

Go to the Google Play console and copy SHA-1 key from Release -> Setup -> App Integrity

Solution 23 - Android

This also might happen if you are working with app versions deployed from "Internal App Sharing" There is yet another certificate generated for you, and you'll need to registered it's SHA-1 fingerprint on Firebase or GCP too

enter image description here

Solution 24 - Android

Check below steps

  1. Make sure you use correct SHA keys
  2. Use web client id, not android client id while requesting id token

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGurvinder SinghView Question on Stackoverflow
Solution 1 - AndroidSolArabehetyView Answer on Stackoverflow
Solution 2 - AndroidMarioView Answer on Stackoverflow
Solution 3 - Android4127157View Answer on Stackoverflow
Solution 4 - AndroidUdit KapahiView Answer on Stackoverflow
Solution 5 - AndroidRenegadeView Answer on Stackoverflow
Solution 6 - AndroidRenan AguiarView Answer on Stackoverflow
Solution 7 - AndroidtobikView Answer on Stackoverflow
Solution 8 - AndroidSanjay SharmaView Answer on Stackoverflow
Solution 9 - AndroidJagjit SinghView Answer on Stackoverflow
Solution 10 - AndroidNabin BhandariView Answer on Stackoverflow
Solution 11 - AndroidMantoskaView Answer on Stackoverflow
Solution 12 - AndroidDan BroughView Answer on Stackoverflow
Solution 13 - Androidsanath_pView Answer on Stackoverflow
Solution 14 - AndroidJuan MendezView Answer on Stackoverflow
Solution 15 - Androidhellowill89View Answer on Stackoverflow
Solution 16 - AndroidThe MJView Answer on Stackoverflow
Solution 17 - Androiduser2694064View Answer on Stackoverflow
Solution 18 - AndroidAlbertView Answer on Stackoverflow
Solution 19 - AndroidAmira SamawiView Answer on Stackoverflow
Solution 20 - AndroidMartijn CoevertView Answer on Stackoverflow
Solution 21 - AndroidMosayeb MasoumiView Answer on Stackoverflow
Solution 22 - AndroidJeroen van DijkView Answer on Stackoverflow
Solution 23 - AndroidMardannView Answer on Stackoverflow
Solution 24 - AndroidParth DesaiView Answer on Stackoverflow