Kenapa Port Wireless Debugging Selalu Berubah (dan Solusinya)
Port Wireless debugging berubah setiap kali dinyalakan atau HP di-restart. Alasan Android melakukannya, cara mencari port baru dengan adb mdns, dan trik port tetap.
Port Wireless debugging berubah karena Android memilih port kosong secara acak setiap kali adbd mulai mendengarkan: setiap kali Wireless debugging dinyalakan, setelah setiap restart, dan kadang saat Wi-Fi tersambung ulang. Tidak ada setelan untuk mengunci port. Daripada mengetik port, biarkan tool mencarinya di jaringan (mDNS), atau jika Anda benar-benar butuh port tetap, alihkan HP ke mode lama adb tcpip, yang punya kekurangannya sendiri. Pairing Anda tidak terpengaruh: hanya port-nya yang baru.
Dua port, keduanya sementara
Wireless debugging memakai dua port berbeda, dan keduanya berubah:
| Port | Tempat melihatnya | Dipakai untuk | Masa berlakunya |
|---|---|---|---|
| Port pairing | Dialog "Pair device with pairing code" | adb pair, sekali per perangkat | Hanya selama dialog itu terbuka |
| Port connect | Alamat IP & Port di bagian atas layar Wireless debugging | adb connect, setiap sesi | Sampai Wireless debugging mati |
Jadi adb connect 192.168.1.20:41237 berhasil hari ini, dan besok HP yang sama menampilkan 192.168.1.20:39553. IP-nya juga bisa berubah jika router memberikan alamat baru.
Kenapa Android melakukan ini
Wireless debugging ditambahkan di Android 11 dengan mempertimbangkan keamanan:
- Port acak lebih sulit ditemukan. Port tetap yang terkenal seperti 5555 adalah hal pertama yang dicoba siapa pun yang memindai jaringan.
- Tidak ada bentrok port. HP mengambil port apa pun yang sedang kosong, bukan berebut satu nomor dengan aplikasi lain.
- Port bukan rahasianya. Keamanan datang dari pairing (TLS dengan kunci yang dipertukarkan lewat kode), jadi Android tidak perlu port yang tetap. Tool diharapkan menemukannya sendiri.
Android juga mematikan Wireless debugging setelah restart dan saat Anda keluar dari jaringan, jadi port baru setiap kali adalah bagian dari desain yang sama. Lihat Wireless debugging mati sendiri.
Cari port saat ini tanpa melihat HP
HP mengumumkan layanan connect-nya di jaringan lokal lewat mDNS (Bonjour), sebagai _adb-tls-connect._tcp. Selama dialog pairing terbuka, HP juga mengumumkan _adb-tls-pairing._tcp. Di komputer:
adb mdns check
adb mdns servicesContoh output:
List of discovered mdns services
adb-R58M12ABCDE-x1Yz9Q _adb-tls-connect._tcp 192.168.1.20:41237Platform-tools versi baru juga otomatis terhubung ke HP yang sudah di-pair dan ditemukan dengan cara ini, jadi adb devices bisa menampilkan HP tanpa adb connect sama sekali. Jika adb mdns services tetap kosong, jaringan atau router Anda memblokir multicast. Jaringan tamu dan sebagian sistem mesh melakukan ini. Mengetik IP dan port dari layar HP tetap bisa.
Fitur "Pair devices using Wi-Fi" di Android Studio memakai penemuan yang sama, itulah sebabnya ia tidak pernah meminta port.
Trik port tetap: adb tcpip
Jika skrip atau tool mengharuskan port tetap, Anda bisa mengalihkan adbd ke mode TCP klasik di port 5555 lewat koneksi nirkabel yang sudah ada:
adb connect 192.168.1.20:41237
adb tcpip 5555
adb connect 192.168.1.20:5555Sejak saat itu HP mendengarkan di 5555. Cara ini berhasil, tetapi ketahui apa yang Anda korbankan:
| Wireless debugging | adb tcpip 5555 | |
|---|---|---|
| Port | Acak, berubah | Tetap 5555 |
| Enkripsi | TLS | Tidak ada |
| Siapa yang bisa terhubung | Hanya perangkat yang sudah di-pair | Komputer mana pun yang Anda terima di prompt "Izinkan proses debug USB?" |
| Setelah restart | Mati, port berubah | Mati, butuh Wireless debugging atau USB lagi |
| Terlihat di Setelan | Ya | Tidak ada tombol yang terlihat |
Port tetap itu tetap hilang saat restart berikutnya, jadi keuntungannya lebih kecil dari kelihatannya. Jangan biarkan mode tcpip menyala di Wi-Fi publik. Selengkapnya di adb tcpip vs Wireless debugging.
Trik lain yang beredar di internet, seperti mengatur service.adb.tls.port atau service.adb.tcp.port dengan setprop, butuh root di HP biasa.
Kunci juga alamat IP-nya
Jika skrip Anda juga menulis IP secara tetap, beri HP reservasi DHCP (sering disebut "static lease" atau "address reservation") di setelan router. Port tetap akan berubah, tetapi alamatnya tidak, sehingga output adb mdns services lebih mudah dicocokkan.
Di banyak HP, Wi-Fi memakai alamat MAC acak untuk setiap jaringan. Gunakan MAC yang ditampilkan untuk jaringan itu di detail Wi-Fi HP saat membuat reservasi, kalau tidak router tidak akan mengenalinya.
Cara ADB Kit menghindari masalah ini
ADB Kit berjalan di HP dan terhubung ke adbd milik HP sendiri. Aplikasi ini tidak pernah meminta port:
- Saat pairing, ADB Kit menemukan layanan pairing sendiri, jadi Anda hanya mengetik kode enam digit.
- Setelah itu, ia mencari layanan connect berdasarkan nama setiap kali Wireless debugging dinyalakan, dan tersambung lagi sendiri di port yang baru.
- Untuk HP lain yang ditambahkan lewat Add phone, ADB Kit juga mencari HP berdasarkan nama layanannya lebih dulu, jadi HP yang port-nya berubah tetap bisa ditemukan lagi.
Jika HP tidak ditemukan, pastikan keduanya berada di Wi-Fi yang sama dan Wireless debugging menyala. ADB Kit meminta Anda menyalakan Wireless debugging di HP lain itu saat tidak bisa menjangkaunya, atau menampilkan Turn on Wireless debugging to reconnect. untuk HP ini.
Pertanyaan umum
Bisakah saya mengatur port tetap di Opsi developer? Tidak. Android bawaan tidak punya setelan seperti itu di merek mana pun yang kami ketahui.
Apakah port baru berarti saya harus pairing ulang? Tidak. Pairing disimpan per perangkat dan tetap ada meskipun port berubah, HP di-restart, dan Wireless debugging dimatikan.
Kenapa adb connect menampilkan "Connection refused" dengan port kemarin? Tidak ada lagi yang mendengarkan di sana. Baca port baru dari layar atau dari adb mdns services. Lihat mengatasi adb connect: Connection refused.
Apakah port-nya sama dengan 5555? Hanya di mode tcpip. Wireless debugging hampir tidak pernah memakai 5555.