
If you've been using Android for years and still only use ADB for sideloading APKs, you're missing out on a goldmine of powerful commands that can transform how you interact with your device. This isn't your typical "adb install" tutorial – we're diving deep into commands that even experienced developers rarely use.
Table of Contents
- Battery & Power Analysis
- Hidden Settings & Activities
- Performance Optimization
- Network & Connectivity
- App Management Power Moves
- System Information
- Automation & Scripting
- Debugging & Troubleshooting
Battery & Power Analysis
1. Generate Detailed Battery Stats Report
adb shell dumpsys batterystats > battery_report.txt
This creates a comprehensive report showing which apps consumed battery, wake locks, and more. Way more detailed than Android's built-in battery stats.
2. Reset Battery Stats (After Full Charge)
adb shell dumpsys batterystats --reset
Pro tip: Do this after a full 100% charge for accurate future readings.
3. Check Current Battery Temperature
adb shell dumpsys battery | grep temperature
Divide by 10 to get Celsius. Anything above 45°C is concerning.
4. View Battery Discharge Rate
adb shell dumpsys battery | grep "current now"
Shows real-time current draw in microamperes.
5. Force Battery Percentage Display
adb shell settings put system status_bar_show_battery_percent 1
6. Simulate Different Battery Levels (Testing)
adb shell dumpsys battery set level 15
Reset with: adb shell dumpsys battery reset
Hidden Settings & Activities
7. Access Hidden System UI Tuner
adb shell am start -n com.android.systemui/.tuner.TunerActivity
Unlocks hidden customization options not available in regular settings.
8. Open Network APN Settings Directly
adb shell am start -a android.settings.APN_SETTINGS
9. Access Hidden App Ops (Permission Manager)
adb shell am start -n com.android.settings/.Settings\$AppOpsSettingsActivity
10. Launch Any Hidden Settings Page
adb shell am start -a android.settings.ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS
Replace ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS with any settings action.
11. Enable Demo Mode in Status Bar
adb shell settings put global sysui_demo_allowed 1
adb shell am broadcast -a com.android.systemui.demo -e command enter
adb shell am broadcast -a com.android.systemui.demo -e command clock -e hhmm 1200
adb shell am broadcast -a com.android.systemui.demo -e command network -e mobile show -e level 4
adb shell am broadcast -a com.android.systemui.demo -e command battery -e level 100 -e plugged false
Perfect for screenshots!
12. Force Enable Night Mode
adb shell cmd uimode night yes
Disable: adb shell cmd uimode night no
Performance Optimization
13. Disable Animations Completely
adb shell settings put global window_animation_scale 0
adb shell settings put global transition_animation_scale 0
adb shell settings put global animator_duration_scale 0
Your phone will feel twice as fast!
14. Set Custom Animation Speed (0.5x for faster)
adb shell settings put global window_animation_scale 0.5
adb shell settings put global transition_animation_scale 0.5
adb shell settings put global animator_duration_scale 0.5
15. Force GPU Rendering
adb shell settings put global force_hw_ui 1
16. Clear All App Caches at Once
adb shell pm trim-caches 999999999999999
17. Force Stop All Background Apps
adb shell am kill-all
18. View Real-time CPU Usage
adb shell top -m 10
Shows top 10 CPU-consuming processes.
19. Set Maximum Background Processes
adb shell settings put global max_cached_processes 4
Default is usually higher; lower = more free RAM.
20. Enable Strict Mode for Debugging
adb shell settings put global strict_mode_visual_indicator 1
Shows red flashes when apps do disk/network on main thread.
Network & Connectivity
21. View All Network Connections
adb shell netstat -an
22. Change Private DNS Server
adb shell settings put global private_dns_specifier dns.adguard.com
adb shell settings put global private_dns_mode hostname
23. Disable Private DNS
adb shell settings put global private_dns_mode off
24. View WiFi Password (Root Required)
adb shell cat /data/misc/wifi/WifiConfigStore.xml | grep -A 20 "PreSharedKey"
25. Force 4G/LTE Only Mode
adb shell settings put global preferred_network_mode 11
Values: 0=WCDMA, 1=GSM, 9=LTE/GSM/WCDMA, 11=LTE Only
26. View ARP Table (Connected Devices)
adb shell cat /proc/net/arp
27. Check Current Network Type
adb shell getprop gsm.network.type
App Management Power Moves
28. List All Installed Packages
adb shell pm list packages
Add -s for system apps, -3 for third-party, -d for disabled.
29. Disable Bloatware Without Root
adb shell pm disable-user --user 0 com.samsung.android.game.gamehome
Replace package name with any app you want to disable.
30. Re-enable Disabled Apps
adb shell pm enable com.samsung.android.game.gamehome
31. Completely Uninstall System Apps (Without Root)
adb shell pm uninstall -k --user 0 com.facebook.system
The -k keeps data. Omit to delete data too.
32. View App's Granted Permissions
adb shell dumpsys package com.whatsapp | grep permission
33. Revoke Specific Permission
adb shell pm revoke com.facebook.orca android.permission.CAMERA
34. Grant Permission via ADB
adb shell pm grant com.termux android.permission.WRITE_EXTERNAL_STORAGE
35. Extract Any APK from Phone
adb shell pm path com.whatsapp
adb pull /data/app/com.whatsapp-xxx/base.apk ./whatsapp.apk
36. View App's Battery Optimization Status
adb shell dumpsys deviceidle whitelist
37. Exempt App from Battery Optimization
adb shell dumpsys deviceidle whitelist +com.yourapp.package
System Information
38. View Detailed Build Information
adb shell getprop | grep "ro.build"
39. Check Android Security Patch Level
adb shell getprop ro.build.version.security_patch
40. View Bootloader Status
adb shell getprop ro.boot.flash.locked
41. Get Complete Hardware Info
adb shell cat /proc/cpuinfo
42. Check Display Specifications
adb shell dumpsys display | grep -E "mBaseDisplayInfo|density|fps"
43. View All System Properties
adb shell getprop > all_properties.txt
Automation & Scripting
44. Simulate Touch Event
adb shell input tap 500 1000
Taps at coordinates (500, 1000).
45. Simulate Swipe Gesture
adb shell input swipe 500 1500 500 500 300
Swipes from (500,1500) to (500,500) in 300ms.
46. Type Text
adb shell input text "Hello%sWorld"
Use %s for spaces.
47. Simulate Key Press
adb shell input keyevent 26
Key 26 = Power button. 3 = Home, 4 = Back, 24/25 = Volume.
48. Take Screenshot via ADB
adb exec-out screencap -p > screenshot.png
49. Record Screen
adb shell screenrecord /sdcard/recording.mp4
Press Ctrl+C to stop. Then: adb pull /sdcard/recording.mp4
50. Launch App by Package Name
adb shell monkey -p com.whatsapp -c android.intent.category.LAUNCHER 1
Bonus: Ultimate ADB One-Liners
Complete Device Backup
adb backup -apk -shared -all -f backup.ab
Restore Backup
adb restore backup.ab
Wireless ADB Connection
adb tcpip 5555
adb connect YOUR_PHONE_IP:5555
View Logcat for Specific App
adb logcat --pid=$(adb shell pidof -s com.whatsapp)
Conclusion
These ADB commands represent the true power of Android's openness. Whether you're debugging, optimizing, or automating, mastering these commands will put you leagues ahead of the average user.
Remember: Always be careful with commands that modify system settings. When in doubt, research the specific command for your device before executing.
What's your favorite ADB command? Drop it in the comments!

