RunEmulator - Android Emulator dan iOS Simulator Launcher
Bash tool untuk mendeteksi dan menjalankan Android Emulator serta iOS Simulator dari terminal tanpa membuka Android Studio atau Xcode.
- Role
- Mobile Tooling Developer
- Ownership
- Solo builder: shell scripting, device detection, interactive UX, and documentation
- Team
- Solo open-source project
- Period
- 2026
- Focus
- macOS, Android, iOS, Cross-platform, CLI & Tooling
Overview
RunEmulator adalah tool kecil untuk mempercepat workflow mobile development. Script ini auto-detect Android AVD dan iOS Simulator yang tersedia, menampilkan menu interaktif, menandai device yang sedang berjalan, lalu menjalankan emulator/simulator pilihan user.
Tech & Libraries
Teknologi dan library yang dipakai atau disentuh di project ini:
Problem
Menjalankan emulator/simulator sering butuh membuka IDE besar seperti Android Studio atau Xcode. Untuk kerja harian mobile, waktu setup itu repetitif dan mengganggu flow development.
My Role & Ownership
Solo builder: shell scripting, device detection, interactive UX, and documentation
Technical Approach
Membuat Bash script self-contained yang membaca Android SDK dan Xcode simctl, mengelompokkan iOS simulator berdasarkan runtime, mendeteksi device running, mencegah duplicate launch, dan menyediakan `.command` file untuk double-click di macOS.
Architecture Notes
Script mendeteksi OS, mencari Android SDK, membaca daftar AVD lewat emulator CLI, membaca state device lewat adb, membaca iOS simulator lewat `xcrun simctl list devices available -j`, lalu membuat menu interaktif.
Trade-offs
Tool dibuat zero-dependency agar mudah dibagikan, sehingga UI tetap berbasis terminal. iOS simulator hanya didukung di macOS karena bergantung pada Xcode.
Implementation Highlights
- Auto-detect Android AVD dan iOS Simulator.
- Menandai device yang sudah running dan mencegah launch duplikat.
- iOS simulator dikelompokkan berdasarkan runtime version.
- Bisa launch multiple devices dalam satu session.
- Support macOS dan Linux untuk Android emulator.
Results
- Mengurangi friction harian saat mobile developer perlu menjalankan device emulator atau simulator.
- Developer bisa menjalankan emulator/simulator langsung dari terminal.
- Workflow mobile development lebih cepat karena tidak perlu membuka IDE.
- Script bisa dipakai sebagai `.command` double-click atau `./run_emulator.sh`.
- Public GitHub repository with MIT license.
- Shell 100%.
- Mendukung Android emulator di macOS/Linux dan iOS simulator di macOS.