Sejak memasang "dark" theme, saya cenderung menjadi malas menulis. Untuk sementara, dark theme saya disable dulu yaa. Terima kasih (^_^) (bandithijo, 2024/09/15) ●
Latar Belakang Masalah
Mungkin pernah terlintas akan sangat praktis apabila kita dapat mengakses Android smartphone kita dari komputer/laptop?
Saya sudah merinci beberapa keperluan yang saya perlukan apabila terdapat aplikasi yang dapat menghubungkan kita dengan smartphone. Berikut ini adalah daftar rinciannya:
- Melihat layar smartphone langsung dari laptop dan dapat berinteraksi, seperti menggerak-gerakkan menu dan mengetik
- Terhubung dengan WiFi tanpa perlu kabel data
- Tidak perlu menginstall aplikasi tambahan di smartphone
- Tidak memerlukan akes root.
- Transfer data drag and drop
Apakah ada aplikasi yang dapat melakukan hal seperti itu di GNU/Linux? Kalaupun ada pasti harganya mahal.
Pemecahan Masalah
Jawabannya, ada.
Lebih keren lagi, Gratis dan Open Sources.
SCRCPY, adalah akronim dari screen copy, sebuah aplikasi yang dikembangkan oleh Genymobile yang berfungsi untuk menampilkan dan mengontrol Android device. Dibangun menggunakan bahasa C, Java dan Meson. Berlisensi Apache 2.0.
Saat tulisan ini dibuat, Scrcpy sudah memasuki versi 1.5 di GitHub repository mereka.
Scrcpy menggunakan adb sebagai backend untuk dapat berkomunikasi dengan Android smartphone kita. Artinya kita memerlukan paket adb
pada sistem kita.
Proses Instalasi
Sejauh yang saya baca dari README.md yang ada pada repository GitHub dari Scrcpy, terdapat dua cara untuk memasang Scrcpy pada sistem kita.
- Arch User Repository untuk Arch Linux
- Build sendiri
Arch Linux
Beruntung untuk teman-teman yang menggunakan distribusi Arch Linux karena sudah terdapat user yang memaintain paket Scrcpy di repository. Untuk Arch Linux terdapat pada AUR/scrcpy.
Tinggal pasang menggunakan AUR Helper favorit kalian.
$ yay scrcpy
Build Sendiri
Silahkan dibuild sendiri mengikuti petunjuk yang ditulis langsung oleh developer pada halaman repository Scrcpy, di sini.
Cara Penggunaan
Scrcpy dapat kita hubungkan dengan smartphone Android kita dengan dua cara, yaitu:
- Kabel data
- Wifi (only on the same network)
Praktis bukan?
Kita tidak perlu menambahkan aplikasi pada smartphone Android kita.
Menggunakan Kabel Data
- Hubungkan smartphone Android dengan laptop/komputer menggunakan kabel data.
-
Buka Terminal dan pastikan smartphone sudah terhubung dengan laptop/komputer.
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 04f2:b52c Chicony Electronics Co., Ltd Bus 001 Device 004: ID 05c6:9025 Qualcomm, Inc. Qualcomm HSUSB Device Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Dapat dilihat pada output dari
lsusb
di atas, smartphone saya sudah terdeteksi. -
Buka Terminal dan jalankan perintah sederhana seperti di bawah.
$ scrcpy
* daemon not running; starting now at tcp:5037 * daemon started successfully /usr/share/scrcpy/scrcpy-server.jar: 1 file pushed. 2.1 MB/s (19178 bytes in 0.009s) INFO: Initial texture: 1080x1920
Apabila
adb
belum pernah di jalankan maka perintah di atas akan memanggil dan menjalankanadb
sekaligus menjalankanscrcpy
.Pada saat ini, akan muncul window baru yang akan menampilkan tampilan dari layar smartphone Andorid kita.
Menggunakan Wifi
Untuk menghubungkan smartphone Android dengan laptop/komputer menggukanan konektifitas Wifi, syaratnya adalah smartphone kita harus berada pada network/jaringan yang sama dengan laptop/komputer kita.
- Langkah pertama, kita harus mengetahui IP address yang dimilii oleh smartphone kita. Langkah paling mudah menurut saya, buka menu Settings → About Phone → Status.
Dapat dilihat pada gambar di atas, area yang saya kotak merah adalah IP address yang dimiliki oleh smartphone.
Untuk memeriksa apakah smartphone dan laptop kita berada pada network yang sama, periksa juga IP address dari laptop.
$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff 3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp4s0 valid_lft 81406sec preferred_lft 81406sec inet6 fxxx::xxxx:fxxx:xxxx:xxxx/64 scope link noprefixroute valid_lft forever preferred_lft forever
Hasil:
Smartphone: 192.168.1.2 Laptop : 192.168.1.4
Kesimpulannya, laptop dan smartphone berada pada network yang sama, yaitu network
192.168.1.0/24
. -
Buka Terminal dan jalankan perintah di bawah untuk mengaktifkan
adb
over TCP/IP pada smartphone kita.$ adb tcpip 5555
-
Lepaskan kabel data.
-
Sekarang, coba hubungkan laptop dengan smartphone Android kita dengan perintah di bawah.
$ adb connect 192.168.1.2:5555
Ganti IP address dengan yang IP address dari smartphone yang kalian miliki.
Apabila berhasil,
connected to 192.168.1.2:5555
-
Jalankan Scrcpy seperti biasa.
$ scrcpy
PerhatianSangat diperlukan untuk melepaskan kabel data terlebih dahulu sebelum menjalankan perintah
scrcpy
.Apabila tidak dilepas, akan muncul pesan error seperti di bawah.
adb: error: failed to get feature set: more than one device/emulator ERROR: "adb push" returned with value 1
InformasiUntuk option dan properties lebih tambahan seperti menurunkan bit-rate dan definition, dapat dilihat pada file README.md pada resource GitHub dari Scrcpy.
Keyboard Shortcuts
Tabel di bawah saya sunting langsung dari file README.md yang ada di repository GitHub dari Scrcpy, di sini.
Action | Shortcut |
---|---|
switch fullscreen mode | Ctrl+f |
resize window to 1:1 (pixel-perfect) | Ctrl+g |
resize window to remove black borders | Ctrl+x | Double-click¹ |
click on HOME | Ctrl+h | Middle-click |
click on BACK | Ctrl+b | Right-click² |
click on APP_SWITCH | Ctrl+s |
click on MENU | Ctrl+m |
click on VOLUME_UP | Ctrl+↑ (Cmd+↑ on MacOS) |
click on VOLUME_DOWN | Ctrl+↓ (Cmd+↓ on MacOS) |
click on POWER | Ctrl+p |
turn screen on | Right-click² |
paste computer clipboard to device | Ctrl+v |
enable/disable FPS counter (on stdout) | Ctrl+i |
¹Double-click on black borders to remove them.
²Right-click turns the screen on if it was off, presses BACK otherwise.
Sekilas Penggunaan
Pesan Penulis
Masih banyak fitur-fitur dari Scrcpy yang belum sempat saya tuliskan di sini. Silahkan bereksplorasi lebih dalam dan lebih jauh, merujuk pada daftar referensi yang saya sertakan di bawah.
Referensi
-
github.com/Genymobile/scrcpy
Diakses tanggal: 2018/12/30 -
blog.rom1v.com/2018/03/introducing-scrcpy/
Diakses tanggal: 2018/12/30 -
www.genymotion.com/blog/open-source-project-scrcpy-now-works-wirelessly/
Diakses tanggal: 2018/12/30 -
wiki.archlinux.org/index.php/Android_Debug_Bridge
Diakses tanggal: 2018/12/30
Lisensi
Atribusi-NonKomersial-BerbagiSerupa 4.0 Internasional (CC BY-NC-SA 4.0)
Penulis
My journey kicks off from reading textbooks as a former Medical Student to digging bugs as a Software Engineer – a delightful rollercoaster of career twists. Embracing failure with the grace of a Cat avoiding water, I've seamlessly transitioned from Stethoscope to Keyboard. Armed with ability for learning and adapting faster than a Heart Beat, I'm on a mission to turn Code into a Product.
- Rizqi Nur Assyaufi