Use ADB to Push Files / Install APKs and Control Android Devices with Scrcpy
Android Debug Bridge (ADB
) is a versatile command-line tool that allows users to interact with Android devices.
scrcpy
is a powerful tool that allows users to control and mirror Android device's screen on computer.
Prerequisites:
- Enable Developer Options on Android device:
- Go to Settings > About phone.
- Tap Build number 7 times until you see a message saying "You are now a developer!"
- Enable USB Debugging:
- Go to Settings > System > Developer options.
- Enable USB debugging.
- Install ADB on computer:
Windows Platform (via Chocolatey)
Open an elevated Command Prompt (Run as Administrator).
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Close and reopen the Command Prompt to ensure the installation is recognized.
choco install adb
adb --version
- Linux Platform (Ubuntu/Debian)
sudo apt install adb -y
adb version
Part 1: Pushing Files to an Android Device Using ADB
Connect Android device to computer via USB.
Make sure the device is recognized by running:
adb devices
- If device is listed, you're ready to proceed. If not, check USB connection and drivers.
Push File(s) to the device:
Use the
adb push
command to copy the file to a directory on device. For example:adb push path/to/app.apk /sdcard/
adb push ./Cover.jpeg /storage/emulated/0/Backup/
This command copiesCover.jpeg
to the/storage/emulated/0/Backup/
directory on device.
Install the APK:
Use the
adb install
command to install the APK directly:adb install path/to/app.apk
If the APK is already on the device (e.g., in
/sdcard/
), you can install it using:adb shell pm install /sdcard/app.apk
Verify the installation:
Check if the app is installed by searching for it on device or using:
adb shell pm list packages | grep package.name
Notes:
If you encounter permission issues, you may need to remount the system partition as read-write (requires root access):
adb root adb remount
- For system apps, you may need to push the APK to
/system/app/
or/system/priv-app/
and set the correct permissions.
Example:
- Push the APK to the device
adb push app.apk /sdcard/
- Install the APK
adb install /sdcard/app.apk
- Alternatively, install directly from computer
adb install path/to/app.apk
That's it! You've successfully pushed and installed an APK using ADB.
Part 2: Using Scrcpy to Mirror and Control Android Device
Prerequisites
- Enable USB Debugging on Android device:
- Go to Settings > About phone > Tap Build number 7 times to enable Developer Options.
- Go to Settings > System > Developer options > Enable USB debugging (also with Wireless debugging).
Install
ADB
andscrcpy
:Windows via Chocolatey(Run as Administrator)
choco install adb scrcpy -y
Linux Platform (Ubuntu/Debian)
sudo apt install adb scrcpy -y
Use scrcpy
via ADB
Connect Android device to computer via USB.
Ensure the device is recognized by running:
adb devices
- If device is listed, you're ready to proceed. If not, check USB connection and drivers.
Run
scrcpy
:Open a terminal or command prompt and simply run:
scrcpy
- This will launch the
scrcpy
window, mirroring Android device's screen.
Wireless Connection (Optional):
If you want to use
scrcpy
wirelessly, follow these steps:- Connect device via USB initially.
- Enable wireless debugging:
- Go to **Settings** > **Developer options** > Enable **Wireless debugging**.
3. Pair device with computer:
adb pair <IP>:<PORT>
(Replace `<IP>` and `<PORT>` with the values shown in the Wireless debugging settings on device.)
```bash
adb pair 172.16.8.56:35953
```
Enter pairing code: `672265`
> Successfully paired to 172.16.8.56:34121 [guid=adb-DYDMMFWC6XFAX4MN-2bJXjj]
4. Disconnect the USB cable.
5. Connect wirelessly:
adb connect <IP>:<PORT>
adb connect 172.16.8.56:34121
> connected to 172.16.8.56:34041
6. Run `scrcpy` as usual:
scrcpy
7. Run `scrcpy` with TCP/IP:
```bash
scrcpy --tcpip=<IP>:<PORT>
```
```bash
scrcpy --tcpip=172.16.8.56:34121
```
> `scrcpy --tcpip=<IP>:<PORT>` allows direct connection to Android device over Wi-Fi.
Common scrcpy
Commands and Options
scrcpy
supports many command-line options for customization. Here are some useful ones:
Reduce resolution:
scrcpy -m1024
(Scales the device screen to a maximum width of 1024 pixels.)
Limit frame rate:
scrcpy --max-fps 30
(Limits the frame rate to 30 FPS.)
Record the screen:
scrcpy --record file.mp4
(Records the screen to a file named
file.mp4
.)Disable screen mirroring (only control):
scrcpy --no-display
(Useful for controlling the device without displaying its screen.)
Turn off the device screen:
scrcpy --turn-screen-off
(Mirrors the device but turns off its screen.)
Copy device clipboard to computer:
scrcpy --forward-all-clipboard
(Syncs the clipboard between the device and computer.)
Rotate the device screen:
scrcpy --rotation 1
(Rotates the device screen. Values:
0
(no rotation),1
(90°),2
(180°),3
(270°).)
Keyboard and Mouse Controls
- Right-click triggers
BACK
- Middle-click triggers
HOME
- Alt+f toggles fullscreen
- There are many other shortcuts
Conclusion
ADB
andScrcpy
are powerful tools for managing and controlling Android devices.With
ADB
, can push and install APKs, whileScrcpy
allows to mirror and control device’s screen with ease.