This guide covers the full Android development environment required to build Space7. Follow every section in order if you are setting up a machine from scratch.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/sam-shervin/space7/llms.txt
Use this file to discover all available pages before exploring further.
Space7 targets Android only. You do not need to install Xcode, CocoaPods, or any iOS toolchain to build and run the app.
Node.js
Space7 requires Node.js>= 22.11.0. The minimum version is enforced by the engines field in package.json.
- macOS
- Linux
- Windows
JDK 17
Android’s Gradle build system requires JDK 17. Using a different major version will cause Gradle compatibility errors.- macOS
- Linux
- Windows
Install JDK 17 using Homebrew:Then add it to your shell profile (Reload your shell and verify:The output should start with
~/.zshrc or ~/.bash_profile):openjdk version "17.Android Studio and Android SDK
Android Studio provides the Android SDK, the emulator, and the Gradle toolchain.Download and install Android Studio
Download Android Studio from developer.android.com/studio and follow the platform-specific installer.During the setup wizard, make sure you select:
- Android SDK
- Android SDK Platform
- Android Virtual Device
Install required SDK packages
Open Android Studio, go to Settings → Languages & Frameworks → Android SDK (or SDK Manager from the Welcome screen).Under the SDK Platforms tab, install at minimum:
- Android 13.0 (API 33) or higher
- Android SDK Build-Tools
- Android SDK Platform-Tools
- Android Emulator
- Android SDK Command-line Tools (latest)
Set ANDROID_HOME and update PATH
The React Native toolchain requires Verify
ANDROID_HOME to point to your SDK directory.- macOS / Linux
- Windows
Add the following to your shell profile (Reload your shell:
~/.zshrc, ~/.bashrc, or ~/.bash_profile):adb is available:Create an Android Virtual Device (AVD)
In Android Studio, open Device Manager and click Create Device.Recommended configuration for Space7 development:
- Device: Pixel 7 (or any phone profile)
- System Image: API 33 or higher (x86_64 recommended for performance)
- RAM: 2 GB minimum
npm run android.ADB Setup and Device Verification
adb (Android Debug Bridge) is your primary tool for verifying device connectivity. It is installed with the Android SDK platform-tools.
Verify a connected device or emulator
- Enable USB Debugging on the device (Settings → Developer Options → USB Debugging).
- Change the USB mode to File Transfer (MTP) rather than Charging Only.
- Accept the RSA key fingerprint prompt that appears on the device screen the first time you connect.
Restart ADB if devices are not detected
Watchman (macOS only, optional)
Watchman is a file-watching service developed by Meta. React Native’s Metro bundler can use it to track file changes more efficiently on macOS.Watchman is optional on macOS and not required on Linux or Windows. Metro falls back to its built-in file watcher if Watchman is not installed.
Verify the full setup
Run the React Native environment doctor to check that all required tools are correctly configured:ANDROID_HOME, and connected devices. Address any issues it reports before proceeding to the Quickstart.
Troubleshooting
`adb: command not found`
`adb: command not found`
adb is not on your PATH. Make sure $ANDROID_HOME/platform-tools is added to your PATH variable and that you have reloaded your shell profile.`ANDROID_HOME` is set but Android Studio can't find the SDK
`ANDROID_HOME` is set but Android Studio can't find the SDK
Open Android Studio and go to Settings → Languages & Frameworks → Android SDK. Confirm that the Android SDK Location field matches the value of your
ANDROID_HOME environment variable. If they differ, update your environment variable to match the path shown in Android Studio.Gradle sync fails in Android Studio
Gradle sync fails in Android Studio
This usually means a required SDK package is missing or the JDK version is wrong.
- Open
android/in Android Studio. - Go to Settings → Languages & Frameworks → Android SDK and confirm the required SDK packages are installed.
- Check File → Project Structure → SDK Location to verify the JDK path points to JDK 17.
- Click File → Sync Project with Gradle Files and check the Build output for specific error messages.
Node.js version mismatch error from npm install
Node.js version mismatch error from npm install
The
engines field in package.json requires Node.js >= 22.11.0. If you see a version mismatch warning or error:Java version mismatch — Gradle requires JDK 17
Java version mismatch — Gradle requires JDK 17
If Gradle reports an incompatible JDK, verify which Java version is active:If the output does not show version 17, update
JAVA_HOME to point to your JDK 17 installation and reload your shell.Emulator is slow or crashes
Emulator is slow or crashes
Enable hardware acceleration for the emulator:
- macOS / Linux: Ensure Intel HAXM or Android Emulator Hypervisor Driver is installed via the SDK Manager under SDK Tools.
- Windows: Enable Hyper-V or install HAXM from the SDK Manager.
Metro bundler fails with `SERVER_ENDPOINT` not found
Metro bundler fails with `SERVER_ENDPOINT` not found
Space7 uses Then restart Metro with the cache cleared:
react-native-dotenv to load environment variables. The .env file must exist in the project root and must define SERVER_ENDPOINT.