adb falha com “não é possível ligar 'local: 5037'”

3

Qualquer comando adb resulta na seguinte saída:

* daemon not running. starting it now on port 5037 *
cannot bind 'local:5037'
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to daemon

Não há nenhuma instância do adb em execução e nada está usando a porta TCP 5037.

    
por user49740 20.09.2014 / 19:45

1 resposta

6

Observe que o erro indica local:5037 , não tcp:5037 . O ADB está realmente tentando se conectar a um soquete unix em /tmp/5037 , que falha.

No meu caso, isso foi porque eu corri adb como root antes. Assim, o soquete era de propriedade do root, proibindo meu usuário de removê-lo. Trecho relevante de 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
    
por 20.09.2014 / 19:45

Tags