adb gagal dengan "tidak dapat mengikat 'lokal: 5037'"


Jawaban:


6

Perhatikan bahwa kesalahan mengatakan local:5037, tidak tcp:5037. ADB sebenarnya sedang mencoba untuk terhubung ke soket unix di /tmp/5037, yang gagal.

Dalam kasus saya ini karena saya menjalankan adb sebagai root sebelumnya. Jadi, soket itu dimiliki oleh root, melarang pengguna saya menghapusnya. Kutipan yang relevan dari strace adb fork-server server:

socket(PF_LOCAL, SOCK_STREAM, 0)        = 8
unlink("/tmp/5037")                     = -1 EPERM (Operation not permitted)
setsockopt(8, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(8, {sa_family=AF_LOCAL, sun_path="/tmp/5037"}, 12) = -1 EADDRINUSE (Address already in use)
close(8)                                = 0

4
Bagi siapa pun yang menemukan ini, sudo adb kill-servermungkin tidak membebaskan port, dan sudo rm /tmp/5037tampaknya memperbaikinya.
Seseorang di suatu tempat
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.