> For the complete documentation index, see [llms.txt](https://docs.drizz.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.drizz.dev/desktop-app/android-setup.md).

# Android setup

Install the Android tooling manually, create an emulator, and put `adb` on your `PATH`.

|                      |                                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------ |
| **Platforms**        | Android                                                                                                |
| **Use this when**    | The [guided wizard](/desktop-app/device-setup-wizard.md) failed, or you need a specific device profile |
| **You need on PATH** | `adb`, `emulator`, `sdkmanager`, `avdmanager`                                                          |
| **Disk space**       | 20–30 GB                                                                                               |
| **Watch out**        | Disable the emulator's soft keyboard, or taps after typing will fail                                   |

## Prerequisites

* Drizz desktop app installed and signed in
* macOS 12 or later
* 20–30 GB free disk space
* Java — the Homebrew `openjdk@17` package is the configuration Drizz is tested against
* An Android SDK location you can write to

{% hint style="success" %}
The [guided setup wizard](/desktop-app/device-setup-wizard.md) performs everything on this page, shows every command before it runs, and takes 15–30 minutes unattended.
{% endhint %}

## Copy this

Run these three commands once the emulator is running. They are the verification plus the required soft-keyboard fix.

```bash
# 1. Confirm your Mac can see the emulator
adb devices

# 2. Confirm the emulator binary is on your PATH
emulator -list-avds

# 3. Disable the soft keyboard — do this on every emulator you create
adb shell ime disable com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
adb shell settings put global show_ime_with_hard_keyboard 0
```

`adb devices` lists a working emulator as `device`. `unauthorized`, `offline`, or an empty list means Drizz cannot see it either.

## Do you need the full Android Studio install?

Drizz requires the Android SDK, an emulator system image, and the command-line tools. Android Studio supplies all three, and is the route the guided wizard takes.

Both paths produce the same outcome: a running emulator that `adb devices` can see.

{% tabs %}
{% tab title="Path A — Android Studio" %}
The heavier install, with a GUI for creating and managing emulators.

1. Download Android Studio from [developer.android.com/studio](https://developer.android.com/studio), matching your Mac's chip.
2. Run the installer and complete first-run setup, granting the permissions it asks for.
3. Open **Device Manager** and [create a virtual device](https://developer.android.com/studio/run/managing-avds). A recent Pixel profile on Android 34 with Google Play matches what the wizard creates.
4. Start the emulator and wait for it to finish booting.
5. Run `adb devices` and confirm the emulator lists as `device`.

Android Studio installs the emulator binaries, but not everything Drizz needs on your `PATH`. Continue with **Install the command-line tools** below.
{% endtab %}

{% tab title="Path B — Command-line tools only" %}
A smaller install with no GUI. Emulators are created and launched from a terminal.

1. Install the SDK command-line tools, the platform tools and a system image.
2. Create an AVD with `avdmanager`.
3. Launch it with `emulator`.
4. Run `emulator -list-avds` and confirm the AVD is listed.
5. Run `adb devices` and confirm the emulator lists as `device`.

Java is required. The Homebrew `openjdk@17` package is the configuration Drizz is tested against.
{% endtab %}
{% endtabs %}

## Install the command-line tools

Android Studio installs the emulator binaries by default. `avdmanager`, `sdkmanager` and running `emulator` from any terminal need the following steps.

### 1. Install the SDK components

1. Open **Android Studio → Settings** (Preferences on older macOS).
2. Go to **Languages & Frameworks → Android SDK**.
3. Open the **SDK Tools** tab.
4. Enable **Android Emulator**, **Android SDK Platform-Tools** and **Android SDK Command-line Tools**.
5. Click **Apply**.
6. Note the **Android SDK Location** shown at the top of that screen. The next step needs it.

### 2. Add them to your PATH

All three directories live inside your SDK location.

| Tool                       | Directory                                 |
| -------------------------- | ----------------------------------------- |
| `emulator`                 | `<sdk_location>/emulator`                 |
| `adb`                      | `<sdk_location>/platform-tools`           |
| `sdkmanager`, `avdmanager` | `<sdk_location>/cmdline-tools/latest/bin` |

1. Add the exports to `~/.zshrc`:

   ```bash
   # Replace <sdk_location> with the path shown in Android Studio's SDK Manager
   export ANDROID_HOME="<sdk_location>"
   export PATH="$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$PATH"
   ```
2. Restart your terminal.
3. Run `emulator -list-avds`. A list of AVDs confirms the change applied; `command not found` means it has not.

Use the `<sdk_location>/emulator` directory. The older copy inside `/tools` is deprecated and does not support current features.

## Disable the soft keyboard

Required on every emulator you create. The on-screen keyboard covers elements, which makes the tap after a `Type` step fail as undoable.

```bash
adb shell ime disable com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
adb shell settings put global show_ime_with_hard_keyboard 0
```

## Connect from Drizz

1. In the desktop app, open **Connect Device** and choose **Android**.
2. Select your emulator from the list. Boot it from here if it is not already running.
3. Choose the app under test.
4. Confirm the device panel shows the emulator as connected.

Drizz attaches to an emulator that is already running rather than booting a second one. If two are running, close both and reconnect.

## Common mistakes

| What you do                                  | What happens                                                              |
| -------------------------------------------- | ------------------------------------------------------------------------- |
| Skip the soft-keyboard commands              | Taps immediately after a `Type` step fail as undoable, on random screens  |
| Use the deprecated `/tools/emulator` binary  | Modern emulator features don't work. Use `<sdk_location>/emulator`        |
| Connect with the phone or emulator locked    | Drizz refuses a locked device by design. Unlock it                        |
| Run this whole page before trying the wizard | You do the work manually, and the wizard would have skipped it all anyway |

## Next

* [Set up a device: guided wizard](/desktop-app/device-setup-wizard.md)
* [Real Android device](/desktop-app/android-real-device.md)
* [Report an issue](/desktop-app/report-an-issue.md)

***

*Last updated: 6 August 2026*
