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:

BashAndroid SDKemulator CLIadbXcode simctlmacOS .command FileTerminal UIShell Scripting

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.

Links