# Google Sign-In for Android Is Deprecated: Moving to Credential Manager

> Google Sign-In for Android is deprecated and moved to Credential Manager. How to migrate Android and Flutter apps (google_sign_in 7), checked Oct 21, 2026.

Canonical: https://app369.com/blog/google-sign-in-android-deprecated-credential-manager-2026/
Last updated: 2026-10-21

[![Simon Dziak](https://app369.com/.netlify/images?w=48&amp;h=48&amp;fm=webp&amp;q=100&amp;url=%2Fimages%2Fszymon.jpg) **Simon Dziak** Founder & developer, App369](https://app369.com/about/szymon-dziak/) [LinkedIn](https://www.linkedin.com/in/szymondziak/)

Published October 18, 2026 · Updated October 21, 2026•Facts last verified October 21, 2026•8 min

App369https://app369.com/blog/google-sign-in-android-deprecated-credential-manager-2026/

[← Back to Blog](https://app369.com/blog/)

## Key takeaways

- →Google deprecated the legacy Google Sign-In for Android API and says it will be removed from the Google Play services Auth SDK. Sign in with Google now runs through Credential Manager.
- →Google's September 11, 2024 timeline listed Smart Lock for Passwords as shut down in Q1 2025, and One Tap and Google Sign-In for Android for removal in the second half of 2025. Its current migration page still says the removal comes in a future release.
- →Sign-in and access to Google APIs are now separate steps. Credential Manager signs the user in; for scopes such as Google Drive, Google says to use the AuthorizationClient API.
- →In Flutter, google_sign_in 7.0.0 is a breaking release: GoogleSignIn is a singleton you must initialize first, and authentication and authorization are separate. On Android, google_sign_in_android 7.0.0 switched to Credential Manager.
- →Several failures after the move come from configuration, not code: a missing web OAuth client (serverClientId), or a missing SHA fingerprint for one build type. Some of these surface as a "canceled" error.

Pricing an app? Try the free [app cost calculator](https://app369.com/tools/app-cost-calculator/) or get a range for your project in the [instant quote](https://app369.com/instant-quote/).

**Google Sign-In for Android is deprecated, and Sign in with Google now runs through Credential Manager.** If your app still uses `GoogleSignInClient` and `GoogleSignInOptions` from `play-services-auth`, or One Tap, move it to Credential Manager before Google removes the old code from the SDK. In a Flutter app the move is an upgrade to `google_sign_in` 7, which is a breaking release. Much of the work is in the code, and some of the bugs afterwards are in the setup.

If you landed here from an old link to Google’s Android sign-in guide, that address now redirects to the Credential Manager overview. The dates and behavior below come from Android Developers, the Android Developers Blog and the Flutter plugin pages, as listed in the sources. I checked each page on October 21, 2026.

**Disclosure:** App369 is my studio. I build and fix Flutter and Firebase apps, and the last section mentions what I sell. Google doesn’t pay me for anything on this page.

## What changed, and when

| When | What happened | Source |
| --- | --- | --- |
| September 11, 2024 | Google announces that Credential Manager replaces its legacy Android sign-in APIs, and publishes a removal timeline | [Android Developers Blog](https://android-developers.googleblog.com/2024/09/streamlining-android-authentication-credential-manager-replaces-legacy-apis.html) |
| Q1 2025 | Smart Lock for Passwords: listed as fully shut down | [Android Developers Blog](https://android-developers.googleblog.com/2024/09/streamlining-android-authentication-credential-manager-replaces-legacy-apis.html) |
| H1 2025 | Credential Saving API and the Sign in with Google button API: listed for removal | [Android Developers Blog](https://android-developers.googleblog.com/2024/09/streamlining-android-authentication-credential-manager-replaces-legacy-apis.html) |
| **H2 2025** | **One Tap and Google Sign-In for Android: listed for removal** | [Android Developers Blog](https://android-developers.googleblog.com/2024/09/streamlining-android-authentication-credential-manager-replaces-legacy-apis.html) |
| Now | Google’s migration page says legacy Google Sign-In is deprecated and will be removed from the Play services Auth SDK in a future release | [Android Developers](https://developer.android.com/identity/sign-in/legacy-gsi-migration) |

The two sources don’t give the same date. The 2024 post gave half-year targets; the migration page, last updated March 6, 2026, gives none. What both say is the same: the old APIs are on their way out, and new work belongs on Credential Manager. In the 2024 post, “removed” means the API still works for users but is no longer in the SDK, so a build with the newest SDK fails; “fully shut down” is a later step where requests fail.

### What the old addresses do today

Checked on October 21, 2026:

- **developers.google.com/identity/sign-in/android/start-integrating**, the old setup guide, **redirects** to the Android Credential Manager overview.
- **developers.google.com/identity/sign-in/android/sign-in** redirects there too.
- **developers.google.com/identity/sign-in/android/legacy-gsi-migration** returned **404**. The live migration page is on developer.android.com, linked in the sources.
- **developers.google.com/identity/one-tap/android/overview** redirects to a page that says One Tap for Android is deprecated.

## Moving a native Android app to Credential Manager

The steps follow Google’s [Sign in with Google implementation guide](https://developer.android.com/identity/sign-in/credential-manager-siwg-implementation):

1. **Add the dependencies.** Add `androidx.credentials:credentials`, `androidx.credentials:credentials-play-services-auth` and `com.google.android.libraries.identity.googleid:googleid`. Check the [androidx.credentials release page](https://developer.android.com/jetpack/androidx/releases/credentials) for the current stable version: on October 21, 2026 the newest stable release listed was 1.6.0, while Google’s sample used a 1.7.0 alpha.
2. **Use your web client ID.** Google’s guide passes the **Web** client ID you set up for OAuth in your Google Cloud project as the server client ID, even in an Android app. The project also has to know your Android app: the Flutter plugin’s docs list a wrong package name or a missing signing SHA as common causes of failed sign-in.
3. **Build the request.** For the bottom-sheet flow, use `GetGoogleIdOption` with your web client ID, and set a random nonce with `setNonce()`, which Google recommends so your server can reject a replayed token. Google’s guide first sets `setFilterByAuthorizedAccounts(true)` to offer accounts that already signed in, with `setAutoSelectEnabled(true)` for returning users. For a “Sign in with Google” button, use `GetSignInWithGoogleOption`.
4. **Call Credential Manager.** Create it with `CredentialManager.create(context)` and call `getCredential` with the request. When the result is a `CustomCredential` whose type is `GoogleIdTokenCredential.TYPE_GOOGLE_ID_TOKEN_CREDENTIAL`, convert it with `GoogleIdTokenCredential.createFrom(credential.data)`.
5. **Verify the ID token on your server.** Send `googleIdTokenCredential.idToken` to your backend and validate it there before you sign the user in, including that it was issued to your web client ID and, if you set a nonce, that it matches the one you sent. Never trust the token just because the app received it. If you use Firebase Authentication, use the Google ID token with Firebase Auth.
6. **Move scopes to AuthorizationClient.** Google says sign-in and authorization are separate actions now. If your app reads Drive, Calendar or another Google API, request those scopes with the `AuthorizationClient` API when the user needs that feature, not at sign-in.
7. **Replace silent sign-in.** Google’s migration page says to use a request with `filterByAuthorizedAccounts` set to true and auto-select on, in place of `silentSignIn`.
8. **Remove the old code.** Once the new path works, remove `GoogleSignInClient`, `GoogleSignInOptions` and any One Tap code, so an old error can’t be mistaken for a new one.

## Moving a Flutter app to google_sign_in 7

On Android, `google_sign_in_android` 7.0.0 switched to Credential Manager. Its changelog says it removed the deprecated Google Sign In for Android SDK. `google_sign_in` 7.0.0 is a breaking release, and its changelog and README list the main changes:

- **`GoogleSignIn` is a singleton.** Use `GoogleSignIn.instance` instead of creating your own `GoogleSignIn(...)`.
- **Initialize first.** Call and await `initialize`, passing `serverClientId` where needed, before any other method.
- **Sign-in is `authenticate()`.** Check `supportsAuthenticate()` first, because not every platform supports it. `attemptLightweightAuthentication()` covers returning users.
- **Authentication and authorization are separate.** Access tokens and server auth codes come from separate calls through the account’s `authorizationClient`, with `authorizationForScopes` to check and `authorizeScopes` to ask, from a user interaction.

On October 21, 2026 the current releases on pub.dev were `google_sign_in` 7.2.0 and `google_sign_in_android` 7.2.18, so you can move straight to the latest 7.x. Plan for the upgrade to touch every place your app signs in, reads the current user or asks for scopes. It isn’t a version bump you can make in one line.

## When sign-in breaks after the move

| What you see | What it usually means | What to check |
| --- | --- | --- |
| “serverClientId must be provided on Android” | The plugin can’t find your web OAuth client | `google-services.json` needs an `oauth_client` entry with `client_type: 3`. If it’s missing, add a web app to the project and download the file again, or pass the web client ID to `initialize` |
| Sign-in reports “canceled” when the user didn’t cancel | Sometimes a configuration error | The plugin’s docs say some configuration errors come back from Credential Manager as “canceled”, and the plugin can’t tell them from a real cancel. Check the client IDs, package name and SHA fingerprints |
| Works in debug, fails in release or from Play | The release signing key’s SHA isn’t registered | Register the signing SHA for each build configuration that fails, including the Play App Signing key shown in Play Console if you use it ([step by step](https://app369.com/fix/firebase-google-sign-in-android-developer-error/)) |
| Sign-in works, but API calls fail with no token | Authentication and authorization are separate steps now | Request them with AuthorizationClient (`authorizeScopes` in Flutter) |
| Package name mismatch | The Android client in Google Cloud has a different package name | Match the package name in Google Cloud or Firebase to `applicationId` |

If you are adding phone-number sign-in rather than Google sign-in, the [phone-number sign-in guide](https://app369.com/blog/twitter-digits-phone-number-sign-in-mobile-apps-2026/) compares Firebase, Twilio Verify and Supabase.

## Need a hand?

If sign-in still fails after the move, or it works on your phone but not for your users, the [App Fix Ticket](https://app369.com/fixed-price/flutter-firebase-bug-fix/) covers it in two fixed-price steps. A $450 Diagnosis gives you the root cause with evidence and a fixed repair quote within 3 business days, credited toward the fix. If you go ahead, the $1,200 Fix takes 5 business days. For a related Android change, see [SafetyNet is gone: moving to Play Integrity and App Check](https://app369.com/blog/safetynet-shut-down-play-integrity-app-check-2026/), or [send me a short description](https://app369.com/contact/).

## **Frequently asked questions**

<dl>

<dt>**Is Google Sign-In for Android deprecated?**</dt>
<dd>Yes. Google's migration page says legacy Google Sign-In for Android is deprecated and will be removed from the Google Play services Auth SDK (play-services-auth). Google recommends Sign in with Google through Credential Manager instead.</dd>

<dt>**When will GoogleSignInClient stop working?**</dt>
<dd>Google's September 2024 timeline put the removal of Google Sign-In for Android in the second half of 2025. Its current migration page, last updated March 6, 2026, says the API will be removed in a future release, without a date, so migrate now.</dd>

<dt>**What replaced Google One Tap and Smart Lock on Android?**</dt>
<dd>Credential Manager. Google's One Tap page now says One Tap for Android is deprecated and to migrate to Credential Manager, and the Smart Lock for Passwords page says the same.</dd>

<dt>**How do I get an access token for Google APIs after the migration?**</dt>
<dd>Request them in a separate step from sign-in. Credential Manager returns an ID token that proves who the user is. To call Google APIs such as Drive, request the scopes with the AuthorizationClient API, which Google says apps should keep using for authorization.</dd>

<dt>**Why does Flutter say "serverClientId must be provided on Android"?**</dt>
<dd>The google_sign_in Android plugin needs your web OAuth client ID. The plugin's documentation says google-services.json should contain a web OAuth client (an oauth_client entry with client_type 3). If it doesn't, add a web app to the project and download the file again, or pass the web client ID as serverClientId when you call initialize.</dd>

<dt>**Why does Google sign-in work in debug but not in release?**</dt>
<dd>A common cause is that the release build's signing SHA isn't registered in your Firebase or Google Cloud project. The plugin's documentation lists a missing or wrong SHA as a common cause of sign-in working in one build configuration but not another.</dd>

<dt>**Do I need to verify the Google ID token on my server?**</dt>
<dd>Yes. Google says to validate the ID token on your server before you trust it to sign the user in. Google also recommends setting a nonce in the sign-in request and checking on the server that the nonce in the token matches the one you sent, which blocks replayed tokens.</dd>

</dl>

## **Sources**

1. [Android Developers Blog, "Streamlining Android authentication: Credential Manager replaces legacy APIs" (September 11, 2024)](https://android-developers.googleblog.com/2024/09/streamlining-android-authentication-credential-manager-replaces-legacy-apis.html)
2. [Android Developers, about the migration from legacy Google Sign-In](https://developer.android.com/identity/sign-in/legacy-gsi-migration)
3. [Android Developers, about Sign in with Google](https://developer.android.com/identity/sign-in/credential-manager-siwg)
4. [Android Developers, implement Sign in with Google](https://developer.android.com/identity/sign-in/credential-manager-siwg-implementation)
5. [Android Developers, about Credential Manager](https://developer.android.com/identity/credential-manager)
6. [Android Developers, One Tap for Android (deprecated)](https://developer.android.com/identity/legacy/one-tap/)
7. [Android Developers, androidx.credentials releases](https://developer.android.com/jetpack/androidx/releases/credentials)
8. [Firebase, authenticate with Google on Android](https://firebase.google.com/docs/auth/android/google-signin)
9. [pub.dev, google_sign_in_android (Android setup and troubleshooting)](https://pub.dev/packages/google_sign_in_android)
10. [pub.dev, google_sign_in changelog](https://pub.dev/packages/google_sign_in/changelog)
11. [pub.dev, google_sign_in_android changelog](https://pub.dev/packages/google_sign_in_android/changelog)
12. [Google for Developers, verify the Google ID token on your server side](https://developers.google.com/identity/gsi/web/guides/verify-google-id-token)
13. [Android Developers, authorize access to Google user data (AuthorizationClient)](https://developer.android.com/identity/authorization)

Tags

#google sign-in android deprecated #googlesigninclient deprecated #credential manager migration #sign in with google android #one tap android deprecated #smart lock for passwords deprecated #play-services-auth migration #google_sign_in 7 migration #flutter google sign in android #serverClientId must be provided on Android

Generated from app369.com . © 2026 App369. All rights reserved.

**Share:**

[Share on Twitter](https://twitter.com/intent/tweet?text=Google%20Sign-In%20for%20Android%20Is%20Deprecated%3A%20Moving%20to%20Credential%20Manager&amp;url=https%3A%2F%2Fapp369.com%2Fblog%2Fgoogle-sign-in-android-deprecated-credential-manager-2026%2F) [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fapp369.com%2Fblog%2Fgoogle-sign-in-android-deprecated-credential-manager-2026%2F) [Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fapp369.com%2Fblog%2Fgoogle-sign-in-android-deprecated-credential-manager-2026%2F)

## **Related Resources **

[Google Fit API Deprecated: Moving to Health Connect in 2026](https://app369.com/blog/google-fit-api-deprecated-health-connect-2026/) [Google Play Games Services v1 Shutdown 2027: Migrate to v2](https://app369.com/blog/play-games-services-v1-shutdown-migrate-to-v2-2027/) [Google Play 16 KB Page Size: Fixing Flutter and Android Apps](https://app369.com/blog/google-play-16kb-page-size-flutter-android-2026/) [Google Play Requires Target API 36: The Android 16 Update](https://app369.com/blog/google-play-target-api-36-android-16-requirement-2026/) [Google Awareness API Deprecated: Alternatives for 2027](https://app369.com/blog/google-awareness-api-deprecated-2027-alternatives/) [Flutter "Deleted Android v1 Embedding" Build Error: The Fix](https://app369.com/blog/flutter-deleted-android-v1-embedding-build-failed-2026/)

## **Related guides **

[<h3>**SafetyNet Is Gone: Moving to Play Integrity and App Check**</h3>SafetyNet shut down in January 2025; calls fail with error code 7. How to move to Play Integrity and Firebase App Check, from Google docs checked Oct 21, 2026.**Read more **](https://app369.com/blog/safetynet-shut-down-play-integrity-app-check-2026/) [<h3>**Firebase Deprecations: Every Shutdown Date, 2024 to 2027**</h3>Firebase deprecations from 2024 to 2027 in one dated table: what stops working, the deadline, and what to move to, from Firebase docs checked Oct 21, 2026.** Read more **](https://app369.com/blog/firebase-deprecations-shutdown-dates-2026/) [<h3>**How to Debug a Flutter and Firebase Bug: Find the Root Cause (2026)**</h3>Find the root cause of a Flutter and Firebase bug: reproduce it, read the right logs, isolate it with the Emulator Suite, and fix the five most common issues.** Read more **](https://app369.com/blog/how-to-debug-a-flutter-firebase-bug-2026/)