Introduction

忘備録。

Android Studio でエミュレータを立ち上げてアプリを起動させると

1
Installation failed due to: 'Connection refused: connect'

と、表示されアプリの転送ができず、インストールに失敗する。

How to resolve?

ググると中国系のサイトが解決策を提示してくれていた。
結論としては adb サーバープロセスを再起動するとのこと。

adb サーバープロセスは起動後 TCP ポートの 5037 番で待ち受けを開始するので、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
$ netstat -ano | findstr 5037
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 20664
TCP 127.0.0.1:5037 127.0.0.1:61472 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61546 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61547 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61556 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61583 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61632 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61837 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61885 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61949 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61950 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61955 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61960 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61970 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:61993 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62050 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62284 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62285 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62286 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62309 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62310 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62314 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62318 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62325 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62352 ESTABLISHED 20664
TCP 127.0.0.1:5037 127.0.0.1:62354 ESTABLISHED 20664
TCP 127.0.0.1:5037 127.0.0.1:62356 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62357 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62358 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62359 ESTABLISHED 20664
TCP 127.0.0.1:5037 127.0.0.1:62366 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62370 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:62373 TIME_WAIT 0
TCP 127.0.0.1:61538 127.0.0.1:5037 TIME_WAIT 0
TCP 127.0.0.1:61946 127.0.0.1:5037 TIME_WAIT 0
TCP 127.0.0.1:62283 127.0.0.1:5037 TIME_WAIT 0
TCP 127.0.0.1:62352 127.0.0.1:5037 ESTABLISHED 1988
TCP 127.0.0.1:62353 127.0.0.1:5037 TIME_WAIT 0
TCP 127.0.0.1:62354 127.0.0.1:5037 ESTABLISHED 1988
TCP 127.0.0.1:62359 127.0.0.1:5037 ESTABLISHED 1988

で 5037 を使用しているプロセスが分かるので

1
$ taskkill -f -pid 20664

で停止。
adb.exe を直接停止してもいい気がするが。

そもそも何でこうなるのかがよくわからないが、Visual Studio で Android 関連のコンポーネントをインストールしており、adb.exe が複数マシン上にあったりと、Android Studio が期待している adb.exe と違ったりしたことが原因だったりするのだろうか?