Reproducible, project-local development environments for Android, iOS, and React Native using Devbox.
# Initialize devbox in your project
devbox init
# Add the Android plugin include to your devbox.json
# (devbox add only works for packages, not plugins — edit devbox.json manually)Add the plugin to your devbox.json:
{
"include": ["github:segment-integrations/devbox-plugins?dir=plugins/android"],
"packages": {
"jdk17": "latest",
"gradle": "latest"
},
"env": {
"ANDROID_APP_APK": "app/build/outputs/apk/debug/app-debug.apk"
}
}# Enter development environment
devbox shell
# Start emulator and run app
devbox run start:emu
devbox run start:appThe app's package name is auto-detected from the APK at install time.
New to devbox-plugins? Check out the Quick Start Guide for detailed setup instructions.
- Project-Local State - All emulators, simulators, and caches stay in your project directory
- Reproducible Environments - Lock files ensure consistent SDK versions across machines
- No Global Pollution - Won't touch
~/.android,~/Library/Developer, or other global state - Parallel Execution - Run multiple test suites simultaneously with
--pureisolation - Device-Driven Configuration - Define devices as JSON, sync AVDs/simulators declaratively
- CI/CD Optimized - Device filtering and platform skipping for fast CI builds
Nix-managed Android SDK with AVD management.
{
"include": ["github:segment-integrations/devbox-plugins?dir=plugins/android"]
}Guides: Android Guide | Cheatsheet Reference: Android API
Xcode toolchain integration with iOS Simulator management (macOS only).
{
"include": ["github:segment-integrations/devbox-plugins?dir=plugins/ios"]
}Guides: iOS Guide | Cheatsheet Reference: iOS API
Composition layer over Android and iOS with Metro bundler management.
{
"include": ["github:segment-integrations/devbox-plugins?dir=plugins/react-native"]
}Guides: React Native Guide | Cheatsheet Reference: React Native API
- Quick Start - Get started in 5 minutes
- Device Management - Managing emulators and simulators
- Testing Guide - Testing strategies and best practices
- Troubleshooting - Common issues and solutions
- Cheatsheets - One-page quick references
- Contributing Guide - How to contribute
- Architecture - Project structure and design
- Testing - Testing infrastructure
- CI/CD - Continuous integration
Full documentation: Wiki Home
The repository includes example projects demonstrating plugin usage:
- examples/android - Minimal Android app
- examples/ios - Swift package example
- examples/react-native - React Native app with Android, iOS, and Web
Each example includes device definitions, test suites, and build scripts.
# Android
devbox run start:emu # Start Android emulator
devbox run start:app # Build, install, and launch app
devbox run stop:emu # Stop emulator
# iOS
devbox run start:sim # Start iOS simulator
devbox run start:ios # Build and launch app
devbox run stop:sim # Stop simulator
# Device management
devbox run android.sh devices list
devbox run ios.sh devices list
# Testing
devbox run test:fast # Quick tests (~2-5 min)
devbox run test:e2e # Full E2E tests (~15-30 min)- Devbox - Install with
curl -fsSL https://get.jetify.com/devbox | bash - macOS - Required for iOS plugin (Xcode required)
- Linux - Supported for Android and React Native (Android only)
MIT
- Questions? Check Troubleshooting
- Found a bug? Open an issue
- Want to contribute? Read the Contributing Guide