Android Stuck on 'Checking for Updates'? Fix It Fast

Android stuck on 'Checking for updates' is usually a flaky network or a clogged Google Services Framework cache. Here's how to fix it without losing data.

You tap 'Check for updates' expecting a quick download. Instead, your phone spins on 'Checking for updates' for twenty minutes. I've seen this on Pixels, Samsungs, and cheap Motorola phones. The good news: it's almost never a hardware problem. It's almost always one of three things.

1. Network connection is flaky or behind a captive portal

This is the cause 80% of the time. The update check needs a clean, unrestricted HTTPS connection to Google's OTA servers (or your carrier's). If your Wi-Fi is behind a hotel captive portal, a VPN is misrouting traffic, or your DNS is blocking a Google endpoint, the check just hangs.

I had a client last month whose entire office Wi-Fi was behind a Palo Alto firewall that blocked android.clients.google.com. Every Android phone in the building spun forever on 'Checking for updates'. The fix wasn't on the phone at all.

Fix:

  1. Turn off Wi-Fi. Switch to mobile data. Try the update check again.
  2. If that works, your Wi-Fi is the problem. Disconnect any VPN.
  3. Change your DNS to 8.8.8.8 (Google) or 1.1.1.1 (Cloudflare). On most phones: Settings → Network & internet → Private DNS → enter dns.google.
  4. Reboot your router if you control it. Yes, really. I've watched a router reboot fix a stuck update three separate times this year.
Don't waste time toggling airplane mode five times. One clean switch to mobile data tells you instantly if it's a network issue.

2. Google Services Framework cache is corrupted

Google Services Framework (GSF) handles the handshake with Google's update servers. If its cache gets stale — usually after a botched prior update or a restore from backup — the 'Checking for updates' call never completes. You'll see the spinner, then nothing. No error, no timeout, just silence.

Fix:

  1. Settings → Apps → See all apps
  2. Tap the three-dot menu → Show system apps
  3. Find Google Services Framework
  4. Tap Storage & cache → Clear cache
  5. Do NOT tap 'Clear storage' unless you want to re-add your Google account
  6. Reboot the phone
  7. Try the update check again

If clearing the GSF cache doesn't help, clear the cache on Google Play Services the same way. That one you can clear storage on without losing your account, but you'll need to re-grant a few permissions.

If that fails, boot into recovery and wipe the cache partition:

1. Power off completely
2. Hold Power + Volume Down (most phones) until the boot menu appears
3. Use volume keys to select 'Recovery mode', press Power
4. When the Android robot appears, hold Power and tap Volume Up once
5. Select 'Wipe cache partition'
6. Select 'Reboot system now'

On Pixel 6 and newer, the recovery menu wording is slightly different — look for 'Wipe cache' under the recovery options. On Samsung One UI 5+, the option is still there but the menu uses touch instead of volume keys on some models.

3. The update server is actually down, or your build is too old

Less common, but real. Google's OTA infrastructure has had regional outages. When it happens, every Android phone in that region hangs on 'Checking for updates'. You can't fix that from your end — you just wait.

The other scenario: your phone is so far behind on updates that the current OTA package won't apply. This hits people who bought a used phone that sat in a drawer for two years. I've seen a Pixel 3 stuck on Android 10 refuse to jump straight to Android 12 — it needed the intermediate Android 11 update first, which Google had already pulled from the OTA server.

How to check:

  • Visit Google Cloud Status Dashboard — look for Android or Play services incidents.
  • Check your current build: Settings → About phone → Android version → Build number.
  • Search your exact model + build number + 'OTA download' on XDA forums. If others are stuck too, it's the server.

The real fix when your build is too far behind: sideload the factory image or OTA zip via ADB. On a Pixel this is a 15-minute job:

adb reboot recovery
# select 'Apply update from ADB'
adb sideload ota_update.zip

On Samsung, you're stuck with Odin and a full firmware flash, which wipes the phone. Back up first. Always.

Quick reference: which fix to try first

SymptomLikely causeFirst fixTime
Spinner hangs, then nothingFlaky Wi-Fi or VPNSwitch to mobile data1 min
Spinner hangs on clean network tooGSF cache corruptedClear Google Services Framework cache3 min
Every phone in your house is stuckRouter or ISP DNSChange DNS to 8.8.8.82 min
Cache clear didn't helpDeeper system cacheRecovery → Wipe cache partition5 min
Others online report same issueGoogle OTA server outageWait, or sideload OTA15 min+
Phone 2+ major versions behindMissing intermediate OTAADB sideload or factory flash30 min

One thing I'll say from experience: don't factory reset as your first move. I've watched people wipe a perfectly good phone over a stuck update that a DNS change would've fixed in 30 seconds. Work through the list above in order. Network first, cache second, server last. That order solves it nearly every time.

Related Errors in Mobile – Android
Google Play Services has stopped Android 'Unfortunately, Google Play Services Has Stopped' Fix Unfortunately, Settings has stopped Android 'Unfortunately, Settings has stopped' — Fix It in 5 Minutes Google Play services has stopped Fix 'Unfortunately, Google Play services has stopped' on Android AGP, AAPT2: error: resource ... not found Gradle Build Failed: Android Resource Linking Failed Fix

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.