Force an Android Device to Check for a System Update


The standard, manual Android update check

Before we try the more advanced methods to force an Android update check, it doesn’t hurt to do a manual check.

While connected to the internet, preferably through WiFi, we just need to go to settings.

There, we scroll all the way down to “About phone”.

We tap the first option, System updates.

We tap the first option, System updates.

If after we tap

If after we tap “Check for update”, the phone claims it is up to date, it’s time to try the alternate methods.

Why cant I update my apps on Android?

Go to Settings > Apps > All > Google Play Store and select both Clear data and Clear cache and finally Uninstall updates. Restart your device, open Google Play Store and try to download the app again.


How install OTA update?

Method 2: Install OTA update via ADB Sideload

  1. Setup ADB and Fastboot on your PC.
  2. Download the OTA update .zip file on your PC and rename it to
  3. Enable USB debugging:
  4. Connect your phone to PC.
  5. Now open the folder where you downloaded the OTA update .zip file and then open a command window inside the folder.


  • [x] Create a UI with list of configs, current version, control buttons, progress bar and log viewer
  • [x] Add PayloadSpec and PayloadSpecs for working with update zip file
  • [x] Add UpdateConfig for working with json config files
  • [x] Add applying non-streaming update
  • [x] Prepare streaming update (partially downloading package)
  • [x] Add applying streaming update
  • [x] Add stop/reset the update
  • [x] Add demo for passing HTTP headers to UpdateEngine#applyPayload
  • [x] Package compatibility check
  • [x] Deferred switch slot demo
  • [x] Add UpdateManager; extract update logic from MainActivity
  • [x] Add Sample app update state (separate from update_engine status)
  • [x] Add smart update completion detection using onStatusUpdate
  • [x] Add pause/resume demo
  • [x] Verify system partition checksum for package

update_payload Scripts

update_payload contains a set of python scripts used mostly to validate payload generation and application. We normally test the update payloads using an actual device (live tests). brillo_update_payload script can be used to generate and test applying of a payload on a host device machine. These tests can be viewed as dynamic tests without the need for an actual device. Other update_payload scripts (like check_update_payload) can be used to statically check that a payload is in the correct state and its application works correctly. These scripts actually apply the payload statically without running the code in payload_consumer.

About this article

JL Written by: Jack Lloyd wikiHow Technology Writer This article was written by Jack Lloyd. Jack Lloyd is a Technology Writer and Editor for wikiHow. He has over two years of experience writing and editing technology-related articles. He is technology enthusiast and an English teacher. This article has been viewed 480,869 times. How helpful is this? Co-authors: 20 Updated: December 18, 2021 Views: 480,869

Article SummaryX

1. Open your Android’s Settings. 2. Tap System or Software Update. 3. Tap About phone or Advanced. 4. Tap Update.

Did this summary help you?

Thanks to all authors for creating a page that has been read 480,869 times.

Used update_engine APIs


Binds given callbacks to update_engine. When update_engine successfully initialized, it's guaranteed to invoke callback onStatusUpdate.


Start an update attempt to download an apply the provided payload_url if no other update is running. The extra key_value_pair_headers will be included when fetching the payload.

key_value_pair_headers argument also accepts properties other than HTTP Headers. List of allowed properties can be found in system/update_engine/common/


Cancel the ongoing update. The update could be running or suspended, but it can't be canceled after it was done.


Reset the already applied update back to an idle state. This method can only be called when no update attempt is going on, and it will reset the status back to idle, deleting the currently applied update if any.

Callback: onStatusUpdate

Called whenever the value of status or progress changes. For progress values changes, this method will be called only if it changes significantly. At this time of writing this doc, delta for progress is 0.005.

onStatusUpdate is always called when app binds to update_engine, except when update_engine fails to initialize.

Part 3. Android 10 is Here: List Of Official Supported Device

The latest update for Android that is Android Q is going to be known as simply Android 10. It is going to arrive on a later date this year. So, if you are wondering if your Android smartphone will support the latest update, then check out our list.

These are the devices from some famous brands that are expected to receive the latest Android 10 update.

  • Asus: Asus ZenFone 6, Asus ZenFone 5Z, Asus ROG Phone 2
  • Google: Google Pixel 3a XL, Google Pixel 3a, Google Pixel 3 XL, Google Pixel 3, Google Pixel 2, Google Pixel 2 XL, Google Pixel, Google Pixel XL
  • Honor: Honor 10, Honor 8X, Honor 20 Pro, Honor 20, Honor V20, Honor Magic 2, Honor Play
  • Huawei: Huawei P30 Pro, Huawei P30, Huawei Mate 20 Pro, Huawei Mate 20, Huawei Mate 20 X, Huawei Mate 20 X 5G, Porsche Design Huawei Mate 20 RS, Huawei P20 Pro, Huawei P20, Huawei Mate 10 Pro
  • LG: LG G8 ThinQ, LG V50 Thin, LG G7 One
  • Samsung: Samsung Galaxy Note10 Plus/Note 10/Note 9, Samsung Galaxy Fold, Samsung Galaxy S10 Plus/S10/S10e/S9 Plus/S9

The *#*#CHECKIN#*#* trick

For the final method, we need to open the dialer, and type:

The numbers spell

The numbers spell “Checkin”. On the screenshot, we haven’t typed the last asterisk “*”, because doing so will automatically run the code.

After we type the last asterisk, we will get a “checkin succeeded” notification in a second or so.

As with the Google Services Framework trick, we ag

As with the Google Services Framework trick, we again go to Settings -> About phone -> System updates to run a new manual update.

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.