Remote adalah aplikasi Kotlin Multiplatform (Compose Desktop) untuk mengelola perangkat Android menggunakan scrcpy dan adb. Aplikasi ini memudahkan pengguna untuk mengatur environment tooling secara terpusat tanpa harus mengkonfigurasi System PATH secara manual.
- Otomatisasi Unduhan: Mendukung fitur unduh dan ekstraksi
scrcpy(yang sudah ter-bundle denganadb) langsung dari rilis resmi GitHub Genymobile. - Auto-Detect: Dapat mendeteksi instalasi
scrcpydanadbdari environmentPATHsistem operasi Anda jika belum disetel. - Validasi Path: Memastikan executable berfungsi dengan baik dan menampilkan indikator visual apabila path tidak valid.
- Konfigurasi Lokal: Menyimpan konfigurasi secara persisten menggunakan Java Preferences sehingga pengaturan tetap ada setelah aplikasi ditutup.
- UI Modern (MVI): Dibangun dengan antarmuka yang bersih menggunakan Compose Multiplatform (Material 3) dan pola arsitektur Model-View-Intent.
Agar aplikasi Remote (dan scrcpy) dapat terhubung dan mengontrol perangkat Android Anda, lakukan pengaturan awal berikut pada ponsel Android Anda:
- Aktifkan Opsi Pengembang (Developer Options):
- Buka Settings (Pengaturan) > About Phone (Tentang Ponsel).
- Ketuk (tap) menu Build Number (Nomor Bentukan) sebanyak 7 kali berturut-turut hingga muncul notifikasi "You are now a developer!".
- Aktifkan USB Debugging:
- Kembali ke menu utama Settings, buka Developer Options (biasanya ada di menu System atau Additional Settings).
- Cari dan aktifkan toggle USB Debugging.
- Koneksikan ke PC/Laptop:
- Sambungkan HP Android Anda ke PC menggunakan kabel USB yang mendukung transfer data.
- Perhatikan layar HP Anda. Akan muncul jendela popup dengan tulisan "Allow USB debugging?".
- Centang opsi "Always allow from this computer", lalu tekan OK / Allow.
- (Khusus pengguna Xiaomi / Redmi / POCO) Akses Kontrol Layar:
- Agar aplikasi bisa menyimulasikan sentuhan klik mouse dan keyboard PC ke HP, pastikan Anda juga mengaktifkan toggle USB Debugging (Security settings) di menu Developer Options.
Setelah persiapan di atas selesai, aplikasi Remote siap mendeteksi dan menampilkan layar ponsel Anda!
Aplikasi ini dilengkapi GitHub Actions untuk mem-build dan merilis secara otomatis.
- Versi aplikasi diatur melalui variabel
app.versiondi filegradle.properties. - Setiap push ke branch
master, GitHub Actions akan otomatis melakukan kompilasi dan packaging native installer untuk semua platform JVM:- Windows:
.msi - macOS:
.dmg - Linux:
.deb
- Windows:
- Hasil build tersebut akan diunggah dan dirilis secara otomatis di tab Releases GitHub.
Proyek ini dipisah menjadi tiga modul utama:
:core: Logika bisnis (Pure Kotlin) tanpa ketergantungan UI, berisi kontrak tooling, data class model, repository, use cases (seperti auto-download), dan implementasi JVM.:shared: Komponen antarmuka menggunakan Compose Multiplatform. Dilengkapi Voyager untuk navigasi state dan BaseViewModel untuk flow MVI.:desktopApp: Entry point peluncur aplikasi dan konfigurasi packaging Compose Desktop.
Bagi developer, jalankan script Gradle berikut pada terminal:
- Jalankan Aplikasi:
.\gradlew.bat :desktopApp:run - Build Installer Native:
.\gradlew.bat :desktopApp:packageDistributionForCurrentOS - Menjalankan Unit Test:
.\gradlew.bat test
Catatan: Aturan arsitektur lengkap dapat dilihat pada file konfigurasi AGENTS.md.