> ## Documentation Index
> Fetch the complete documentation index at: https://docs.soundchecklive.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Android Development Setup

> Set up Android emulators for Soundcheck development

This guide covers setting up Android emulators for Soundcheck mobile app development.

## Prerequisites

* **Android Studio** with Android SDK
* **Node.js** v20+
* **npm** package manager

***

## Available emulators

Recommended Android Virtual Devices (AVDs):

| Device | Android Version | Recommended |
| - | - | - |
| Pixel 3 API 31 | Android 12 | |
| Pixel 4 API 32 | Android 12L | |
| Pixel 4 API 33 | Android 13 | ✅ |

***

## Quick commands

### Start the emulator

```bash theme={null}
# Start the Pixel 4 API 33 emulator
$ANDROID_HOME/emulator/emulator -avd Pixel_4_API_33 &

# Or for other devices
$ANDROID_HOME/emulator/emulator -avd Pixel_3_API_31 &
$ANDROID_HOME/emulator/emulator -avd Pixel_4_API_32 &
```

### Check connected devices

```bash theme={null}
adb devices
```

### Run your Expo app

```bash theme={null}
# Make sure emulator is running first, then:
npx expo start --android

# Or start the dev server and press 'a' for Android
npx expo start
# Then press 'a' in the terminal
```

### Port forwarding (if needed)

```bash theme={null}
adb reverse tcp:8081 tcp:8081
```

### Open Expo Go manually

```bash theme={null}
adb shell am start -a android.intent.action.VIEW -d "exp://127.0.0.1:8081" host.exp.exponent
```

***

## Environment variables

Your `~/.zshrc` should be configured with:

```bash theme={null}
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
```

> [!NOTE]
>
> Restart your terminal or run `source ~/.zshrc` for these to take effect.

***

## Troubleshooting

> [accordion] Emulator Not Starting
>
> If the emulator doesn't start, make sure Android Studio is properly configured:
>
> 1. Open Android Studio
> 2. Go to **Tools → AVD Manager**
> 3. Check that your virtual devices are listed
> 4. Click the play button to start one

> [accordion] App Not Loading
>
> 1. Make sure the emulator is fully booted (you can see the Android home screen)
> 2. Check that adb can see the device: `adb devices`
> 3. Restart the Expo dev server: `npx expo start --android`
> 4. Set up port forwarding: `adb reverse tcp:8081 tcp:8081`

> [accordion] Port Already in Use
>
> If you get a port conflict:
>
> ```bash theme={null}
> # Kill the process using port 8081
> lsof -ti:8081 | xargs kill -9
>
> # Then restart Expo
> npx expo start --android
> ```

> [accordion] HAXM/KVM Issues
>
> For hardware acceleration issues:
>
> **macOS (Intel)**:
>
> ```bash theme={null}
> brew install intel-haxm
> ```
>
> **macOS (Apple Silicon)**:
> Hardware acceleration is native - no additional setup needed.
>
> **Linux**:
>
> ```bash theme={null}
> sudo apt install qemu-kvm
> sudo adduser $USER kvm
> ```

***

## Creating a new AVD

**1. Open AVD Manager**

In Android Studio, go to **Tools → AVD Manager** or click the phone icon in the toolbar.

**2. Create Virtual Device**

Click **Create Virtual Device**.

**3. Select Hardware**

Choose a device definition (e.g., Pixel 4) and click **Next**.

**4. Select System Image**

Select an Android version (API 33+ recommended). Click **Download** if not already installed.

**5. Configure AVD**

Name your AVD and adjust settings as needed. Click **Finish**.

***

## Development build

For features that don't work with Expo Go (like full notification support), create a development build:

```bash theme={null}
# Build for Android
npx eas build --profile development --platform android

# Install the APK on your emulator
adb install path/to/your-app.apk
```

***

## Resources

* [Expo Android Development](https://docs.expo.dev/workflow/android-studio-emulator/)
* [Android Debug Bridge (adb)](https://developer.android.com/tools/adb)
* [Managing AVDs](https://developer.android.com/studio/run/managing-avds)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.