Android Developers Blog
The latest Android and Google Play news for app and game developers.
🔍
Platform Android Studio Google Play Jetpack Kotlin Docs News

26 January 2026

Trade-in mode on Android 16+


Link copied to clipboard

Supporting Longevity through Faster Diagnostics

Posted by Rachel S, Android Product Manager

Trade-in mode: faster assessment of a factory-reset phone or tablet, bypassing setup wizard, a new feature on Android 16 and above.

Supporting device longevity

Android is committed to making devices last longer. With device longevity comes device circularity: phones and tablets traded-in and resold. GSMA reported that secondhand phones have around 80-90% lower carbon emissions than new phones. The secondhand device market has grown substantially both in volume and value, a trend projected to continue.

Android 16 and above offers an easy way to access device information on any factory reset phone or tablet via the new tradeinmode parameter, accessed via adb commands. This means you can view quality indicators of a phone or tablet, skipping each setup wizard step. Simply connect a phone or tablet with adb, and use tradeinmode commands to get information about the device.

Trade-in mode: What took minutes, now takes seconds

Faster trade-in processing – By bypassing setup wizard, trade-in mode improves device trade ins. The mode enables immediate access to understand the ‘health’ of a device, helping everyone along the secondhand value chain check the quality of devices that are wiped. We’ve already seen significant increases in processing secondhand Android devices! 


Secure evaluation To ensure the device information is only accessed in secure situations, the device must 1) be factory reset, 2) not have cellular service, 3) not have connectivity or a connected account, and 4) be running a non-debuggable build.

Get device health information with one command – You can view all the below device information with adb command from your workstation adb shell tradeinmode getstatus, skipping setup wizard: 

  • Device information 

    • Device IMEI(s) 

    • Device serial number 

    • Brand 

    • Model 

    • Manufacturer 

    • Device model, e.g., Pixel 9

    • Device brand, e.g., Google

    • Device manufacturer, e.g., Google

    • Device name, e.g., tokay

    • API level to ensure correct OS version, e.g., launch_level : 34

  • Battery heath 

    • Cycle count

    • Health

    • State, e.g., unknown, good, overheat, dead, over_voltage, unspecified_failure, cold, fair, not_available, inconsistent

    • Battery manufacturing date 

    • Date first used 

    • Serial number (to help provide indication of genuine parts, if OEM supported)

    • Part status, e.g., replaced, original, unsupported

  • Storage 

    • Useful lifetime remaining 

    • Total capacity 

  • Screen Part status, e.g., replaced, original, unsupported

  • Foldables (number of times devices has been folded and total fold lifespan) 

  • Moisture intrusion 

  • UICCS information i.e., Indication if there is an e-SIM or removable SIM and the microchip ID for the SIM slot

  • Camera count and location, e.g., 3 cameras on front and 2 on back

  • Lock detection for select device locks

  • And the list keeps growing! Stay up to date here


Run your own tests – Trade-in mode enables you to run your own diagnostic commands or applications by entering the evaluation flow using tradeinmode evaluate. The device will automatically factory reset on reboot after evaluation mode to ensure nothing remains on the device. 


Ensure the device is running an approved build – Further, when connected to the internet, with a single command tradeinmode getstatus --challenge CHALLENGE you can test the device’s operating system (OS) authenticity, to be sure the device is running a trusted build. If the build passes the test, you can be sure the diagnostics results are coming from a trusted OS. 


There’s more – You can use commands to factory reset, power off, reboot, reboot directly into trade-in mode, check if trade-in mode is active, revert to the previous mode, and pause tests until system services are ready. 


Want to try it? Learn more about the developer steps and commands