> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/zwc456baby/ScrcpyForAndroid/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Download and install Scrcpy for Android on your device

## Download the APK

Scrcpy for Android is distributed as an APK file through GitHub releases.

<Steps>
  <Step title="Navigate to releases">
    Visit the [GitHub releases page](https://github.com/zwc456baby/ScrcpyForAndroid/releases) to find the latest version.
  </Step>

  <Step title="Download scrcpy-release.apk">
    Download the `scrcpy-release.apk` file from the latest release.

    <Note>
      The APK file is typically 5-10 MB in size. Make sure you have a stable internet connection.
    </Note>
  </Step>
</Steps>

## Install on your Android device

<Steps>
  <Step title="Enable installation from unknown sources">
    Before installing, you need to allow installation from unknown sources:

    1. Open **Settings** on your Android device
    2. Navigate to **Security** or **Privacy**
    3. Enable **Install unknown apps** or **Unknown sources**
    4. Select your browser or file manager and allow installation

    <Warning>
      On Android 8.0 and above, this permission is granted per-app rather than system-wide. You'll need to allow installation for the app you're using to open the APK (e.g., Chrome, Files).
    </Warning>
  </Step>

  <Step title="Install the APK">
    1. Tap on the downloaded `scrcpy-release.apk` file
    2. Review the permissions requested
    3. Tap **Install**
    4. Wait for the installation to complete
    5. Tap **Open** to launch the app, or find it in your app drawer
  </Step>
</Steps>

## Permissions required

During installation, Scrcpy for Android will request the following permissions:

<AccordionGroup>
  <Accordion title="Internet" icon="wifi">
    **Required**: Allows the app to establish network connections to remote Android devices via ADB.

    This permission is essential for connecting to devices over your local network.
  </Accordion>

  <Accordion title="Access Wi-Fi State" icon="signal">
    **Required**: Allows the app to detect Wi-Fi connectivity and network information.

    This helps the app determine if you're connected to a local network.
  </Accordion>
</AccordionGroup>

<Note>
  These are the only permissions required. The app does not request access to your contacts, camera, storage, or other sensitive data.
</Note>

## Verify installation

After installation, verify that the app is working correctly:

<Steps>
  <Step title="Launch the app">
    Open **ScrcpyForAndroid** from your app drawer.
  </Step>

  <Step title="Check the main screen">
    You should see the main interface with:

    * Remote Device IP address field
    * Resolution dropdown (default options: 1920x1080, 1280x720, etc.)
    * Bitrate dropdown (default options: 6 Mbps, 4 Mbps, 2 Mbps, 1 Mbps)
    * Delay Control dropdown (High, Medium, Low)
    * Viewing mode switch
    * Bottom control button switch
    * Start button
  </Step>

  <Step title="Check app version">
    The current version should be **1.1.0** (version code 9).
  </Step>
</Steps>

## Initial setup

Before connecting to a remote device, configure your preferences:

### Set default resolution

Select a resolution from the dropdown menu:

```text theme={null}
1920x1080 - Full HD (highest quality, more bandwidth)
1600x720  - Wide HD
1280x720  - HD (recommended for most networks)
1200x540  - qHD
960x720   - SD+
800x448   - Low bandwidth
640x360   - Minimal bandwidth
```

<Tip>
  Start with **1280x720** at **2 Mbps** for a good balance between quality and performance.
</Tip>

### Set bitrate

Choose a bitrate based on your network speed:

* **6 Mbps**: High-quality networks, minimal compression
* **4 Mbps**: Good quality, most home networks
* **2 Mbps**: Recommended for stable connections
* **1 Mbps**: Low bandwidth or unstable networks

### Configure delay control

Delay control affects latency compensation:

* **High (100ms)**: Best for slower networks, more buffering
* **Medium (60ms)**: Balanced latency and smoothness
* **Low (30ms)**: Minimal latency, requires stable network

### Optional settings

<Accordion title="Viewing mode (no control)">
  Enable this switch to mirror the device without sending touch or keyboard events. Useful for:

  * Monitoring only
  * Presentations where you don't need to interact
  * Preventing accidental inputs

  When enabled, the bottom control button option is disabled.
</Accordion>

<Accordion title="Bottom control button">
  Enable this if the target device has **hardware navigation buttons** instead of on-screen buttons.

  This adds virtual navigation buttons (Back, Home, App Switcher) to your mirroring interface.

  <Note>
    This option is only available when "Viewing mode" is disabled.
  </Note>
</Accordion>

## Troubleshooting installation

<AccordionGroup>
  <Accordion title="Installation blocked" icon="circle-exclamation">
    If installation is blocked:

    1. Make sure you've enabled installation from unknown sources
    2. Check that the APK file downloaded completely (verify file size)
    3. Try downloading the APK again
    4. Clear your browser cache and retry
  </Accordion>

  <Accordion title="App not compatible" icon="mobile">
    If you see a compatibility error:

    * Minimum Android version: **Android 5.0 (API 21)**
    * Target Android version: **Android 12 (API 31)**

    Devices below Android 5.0 are not supported.
  </Accordion>

  <Accordion title="Installation failed" icon="xmark">
    If installation fails:

    1. Check available storage space (requires \~20 MB)
    2. Uninstall any previous versions of the app
    3. Restart your device and try again
    4. Download the APK file again in case it was corrupted
  </Accordion>
</AccordionGroup>

## Next steps

Now that Scrcpy for Android is installed, you're ready to connect to a remote device.

<Card title="Quick start guide" icon="rocket" href="/quickstart">
  Learn how to enable ADB wireless debugging and connect to your first device
</Card>
