Exploring ADB Shell Commands#
Tried out ADB commands to explore and interact with my old Android device. Part of an ongoing deep-dive—looking into how apps behave, triggering intents, and inspecting packages.
I’m exploring lower-level Android internals with an eye toward writing applications in C and possibly doing AArch64 cross-compilation in the future.
I’ve previously written a few Android applications in Java during my college days—those notes can be found here.
ABD Basic Commands#
List the devices#
$ adb devices
Hang the system#
$ adb shell
RMX1807:/ $ am hang
Activity manager (am
)#
See ADB IntentSpec for options.
Option |
Description |
---|---|
|
Action (e.g., |
|
Data URI (e.g., |
|
MIME type (e.g., |
|
Category (e.g., |
|
Component name (pkg/.Activity) |
|
Add string extra ( |
|
Add boolean extra ( |
|
Add null extra |
|
Clears existing activity on top |
|
Reuses existing instance if already on top |
1. Open an Intent#
$ adb shell
RMX1807:/ $ am start -n com.intsig.camscanner/.CaptureActivity
RMX1807:/ $ am start -a android.intent.action.VIEW
2. Open Camera#
$ adb shell
RMX1807:/ $ am start -a android.media.action.IMAGE_CAPTURE
3. Open the app color reflexer#
RMX1807:/ $ am start -n com.colorreflexer/.MainActivity
4. Starting any other app like Cam Scanner#
Scan the activities:
RMX1807:/ $ dumpsys package com.intsig.camscanner | grep -i activity
Activity Resolver Table:
...
99d05e7 com.intsig.camscanner/.MainMenuActivity filter 5e46134
...
89d36d7 com.intsig.camscanner/.openapi.OCROpenApiActivity filter 70cc191
9442cce com.intsig.camscanner/.Scan2PDFActivity filter 4fc7f64
82f0d01 com.intsig.camscanner/.DocumentActivity filter 6005ca0
529f832 com.intsig.camscanner/.ImageScannerActivity filter efa541e
...
Open camera scanning:
RMX1807:/ $ am start -n com.intsig.camscanner/.CaptureActivity
Open main menu:
RMX1807:/ $ am start -n com.intsig.camscanner/.MainMenuActivity
Starting: Intent { cmp=com.intsig.camscanner/.MainMenuActivity }
5. Starting Chrome#
RMX1807:/ $ am start -n com.android.chrome/com.google.android.apps.chrome.Main
Starting chrome with a URL:
RMX1807:/ $ am start -a android.intent.action.VIEW -d "http://example.com" -n com.android.chrome/com.google.android.apps.chrome.Main
Taking a screenshot#
RMX1807:/ $ screencap /sdcard/screen.png
And the screenshot is located in Phone/screen.png
.
Open a Camera and click a picture#
RMX1807:/ $ am start -a android.media.action.IMAGE_CAPTURE
This opens the camera, but doesn’t trigger the capture. To simulate a tap:
RMX1807:/ $ wm size
Physical size: 1080x2340
RMX1807:/ $ input tap 540 512