adb.exeの多重起動について

3,938 views
Skip to first unread message

comor...@yahoo.co.jp

unread,
Feb 27, 2016, 8:41:41 AM2/27/16
to android-g...@googlegroups.com
何度やっても解決できませんので、どなたかご教示お願いします。

Javaを更新したせいなのかどうか分からないのですが、
1週間程前から以下のエラーが発生し、タスクマネージャーを見ると
adb.exeが二重起動しています。

解決できなかったため、Android-SDKとEclipseをアンインストールし
再度、Android-SDKとEclipseをインストールしました。

それでも改善されませんでした。
何が原因でしょうか?

エラー内容は以下のとおりです。

C:\android-sdk\platform-tools\adb.exe,start-server' failed -- run manually if necessary
adb restart attempts: 27
Connection attempts: 38
C:\android-sdk\platform-tools\adb.exe,start-server' failed -- run manually if necessary
adb restart attempts: 28
Connection attempts: 39
      :
よろしくお願いします。

M.Yamakarasu

unread,
Feb 28, 2016, 9:56:36 AM2/28/16
to android-g...@googlegroups.com
こんばんわです。からすと申します。

当方のとりあえずWindows7(32bit)、Java8は1.8.0_74、adbは1.0.32(Platform-tools 23.1)、最近元気なNorton先生はAntiVirus 22.5.5.15、
でとくに問題はなにも発生しておりません。
状況がよく分かりませんので、なんともコメントしようがないのですが、
とりあえず以下にて状況を確認してみてはいかがでしょうか?

まず、Android端末をPCと接続していない状態で、
現在立ち上がっている adb.exe のプロセスを全て
(Windowsのタスクマネージャーのプロセスタブで「全てのユーザーのプロセスを表示」のうえ、イメージ名でソートして)
kill(プロセスツリーの終了)いただき、

さらに、コマンドプロンプトから
 >adb.exe kill-server
もやった上で、

adb のデバッグ情報を見るため、コマンドプロンプトから、
> set ADB_TRACE=all
の環境変数をセットしてから、
> adb.exe start-server
を実行して、内容を確認してみる。
正しくadbデーモンさんが立ち上がると、全部で29行(環境によって違うかもしれませんが)の起動のトレース情報が表示され、最後に「* daemon started successfully *」と表示されるはずです。

--
からす@いばらき


comor...@yahoo.co.jp

unread,
Feb 29, 2016, 9:45:22 AM2/29/16
to android-g...@googlegroups.com
からすさん
ありがとうございます。
お教えいただいたことを試しましたが改善されませんでした。
*********************************************************
1.スマホをPCと接続していない状態では、adb.exeは起動していません。
*********************************************************
2.コマンドプロンプトで
 cd C:\android-sdk\platform-tools
 adb.exe kill-server
 ⇒起動していない為、「* server not runnning *」
*********************************************************
3.set ADB_TRACE=all
  adb.exe start-server

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Users\owner>adb.exe kill-server
* server not running *
C:\Users\owner>cd C:\android-sdk\platform-tools
C:\android-sdk\platform-tools>adb.exe kill-server
* server not running *
C:\android-sdk\platform-tools>set ADB_TRACE=all
C:\android-sdk\platform-tools>adb.exe start-server
adb.exe I  4280  1352 adb.cpp:219] Android Debug Bridge version 1.0.32
adb.exe I  4280  1352 adb.cpp:219] Revision 09a0d98bebce-android
adb.exe I  4280  1352 adb.cpp:219]
adb.exe I  4280  1352 adb_client.cpp:126] _adb_connect: host:version
adb.exe I  4280  1352 sysdeps_win32.cpp:742] could not connect to tcp:5037: cann
ot connect to 127.0.0.1:5037: 蟇セ雎。縺ョ繧ウ繝ウ繝斐Η繝シ繧ソ繝シ縺ォ繧医▲縺ヲ諡貞凄縺
輔l縺溘◆繧√∵磁邯壹〒縺阪∪縺帙s縺ァ縺励◆縲・(10061)
adb.exe I  4280  1352 adb_client.cpp:175] adb_connect: service host:start-server
* daemon not running. starting it now on port 5037 *
adb I  5232  5156 adb.cpp:219] Android Debug Bridge version 1.0.32
adb I  5232  5156 adb.cpp:219] Revision 09a0d98bebce-android
adb I  5232  5156 adb.cpp:219]
adb I  5232  5156 sysdeps_win32.cpp:1077] bit_buffer_init 00a097e8
adb I  5232  5156 sysdeps_win32.cpp:1077] bit_buffer_init 00a0a828
adb I  5232  5156 sysdeps_win32.cpp:1428] adb_socketpair: returns (100, 101)
adb I  5232  5156 transport.cpp:577] socketpair: (100,101)
adb I  5232  5156 sysdeps_win32.cpp:1842] fdevent_update: add 1 to 101
adb I  5232  5156 sysdeps_win32.cpp:1599] event_looper_hook: call hook for 101 (
new=0, old=1)
adb I  5232  3800 usb_windows.cpp:175] Created device thread
adb I  5232  5156 transport_local.cpp:312] transport: local client init
adb I  5232   588 usb_windows.cpp:211] Created power notification thread
adb I  5232  5156 adb_auth_host.cpp:463] adb_auth_init
adb I  5232  4908 transport_local.cpp:127] transport: client_socket_thread() sta
rting
adb I  5232  5156 adb_auth_host.cpp:325] home 'C:\Users\owner'
adb I  5232  5156 adb_auth_host.cpp:353] user key 'C:\Users\owner\.android\adbke
y'
adb I  5232  5156 adb_auth_host.cpp:274] read_key 'C:\Users\owner\.android\adbke
y'
adb I  5232  5156 sysdeps_win32.cpp:826] port 5037 type tcp => fd 103
adb I  5232  5156 sysdeps_win32.cpp:1842] fdevent_update: add 1 to 103
adb I  5232  5156 sysdeps_win32.cpp:1599] event_looper_hook: call hook for 103 (
new=0, old=1)

* daemon started successfully *
*********************************************************
4.eclipseを起動し、スマホをPCに接続して、「実行」押下。
 以下のエラーが出ます。

[2016-02-29 23:34:35 - DeviceMonitor] Adb connection Error:既存の接続はリモート ホストに強制的に切断されました。
[2016-02-29 23:34:37 - DeviceMonitor] Connection attempts: 1
[2016-02-29 23:34:39 - DeviceMonitor] Connection attempts: 2
[2016-02-29 23:34:41 - DeviceMonitor] Connection attempts: 3
[2016-02-29 23:34:43 - DeviceMonitor] Connection attempts: 4
[2016-02-29 23:34:45 - DeviceMonitor] Connection attempts: 5
[2016-02-29 23:34:48 - DeviceMonitor] Connection attempts: 6
[2016-02-29 23:34:50 - DeviceMonitor] Connection attempts: 7
[2016-02-29 23:34:52 - DeviceMonitor] Connection attempts: 8
[2016-02-29 23:34:54 - DeviceMonitor] Connection attempts: 9
[2016-02-29 23:34:56 - DeviceMonitor] Connection attempts: 10
[2016-02-29 23:34:58 - DeviceMonitor] Connection attempts: 11
[2016-02-29 23:35:00 - ddms] 'C:\android-sdk\platform-tools\adb.exe,start-server' failed -- run manually if necessary
[2016-02-29 23:35:00 - DeviceMonitor] adb restart attempts: 1
[2016-02-29 23:35:02 - DeviceMonitor] Connection attempts: 12
[2016-02-29 23:35:05 - ddms] 'C:\android-sdk\platform-tools\adb.exe,start-server' failed -- run manually if necessary
[2016-02-29 23:35:05 - DeviceMonitor] adb restart attempts: 2
[2016-02-29 23:35:07 - DeviceMonitor] Connection attempts: 13
[2016-02-29 23:35:10 - ddms] 'C:\android-sdk\platform-tools\adb.exe,start-server' failed -- run manually if necessary
[2016-02-29 23:35:10 - DeviceMonitor] adb restart attempts: 3
[2016-02-29 23:35:12 - DeviceMonitor] Connection attempts: 14

タスクマネージャーを見ると、二重起動しています。

[開発環境]
Windows7 64bit
Eclipse 4.3 kepler
Java 8 Update 73
Java 8 Update 74
Java 8 Update 73(64-bit)

[質問]
1.Eclipseが古くてJavaが最新の為でしょうか?
2.インストールされているJavaは上記のとおりですが、
 Eclipseで使用しているJavaのバージョンがわかりません。
 確認する場所を教えていただけないでしょうか。
3.adb.exeのバージョンも分かりません。

宜しくお願いいたします。

M.Yamakarasu

unread,
Feb 29, 2016, 4:40:49 PM2/29/16
to android-g...@googlegroups.com
からすです。おはようございます。

なるほど、Eclipse + ADT Plugin からの利用ができない、ということだったのですね。。。
当方、Android Studioに乗り換えてしまっているので、ちょっとすぐには分からないので、とりあえず:

**   to: 同じようにADT環境で開発されていらっしゃる方
**  
**   アドバイス等ありましたらコメントお願いいたします。


とふっておいて、なんですが、いちおう推測とか記載しておきます。
状況から察するに、EclipseかADT Pluginのどちらかが、お使いのJavaと仲が悪くなってしまった感じに思えます。
(Windowsやその他のファイヤーウォールの設定の可能性もありますが)
Eclipseはともかく、ADT Pluginはサポートされなくなって久しいので、
この場合はJavaを古いバージョンにしたほうがよいように思います。
(いちおう、Java7もオラクルさんのサイトの奥深くからダウンロードできたはず、、セキュリティ的にどうかとおもいますが、、そもそもAndroid自体がJava8にはまだ対応していなかったような。。。)

また、Eclipse + ADT Plugin ではなく、Android Studioでお試しいただくのも良いかもしれません。
(お仕事とかだと、そんなに簡単には乗り換えられないかもですが)

ということで、ご質問の3点の直接の回答にはなっておりませんが、
1. 可能性が高いです
2. ぱっと分からないので、分かったら返信いたします。
3. 展開いただいたデバッグ情報の最初のほうの「Android Debug Bridge version 1.0.32」です。

--
からす@いばらき



2016年2月29日 23:44 <comor...@yahoo.co.jp>:

--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
https://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

comor...@yahoo.co.jp

unread,
Mar 1, 2016, 8:26:21 AM3/1/16
to android-g...@googlegroups.com
からすさん

いろいろとありがとうございます。

Java8からJava 7 Update 76にダウングレードしましたが、改善されずに
adb.exeが二重起動し、kill-serverしても直ぐに復活してしまいます。

以前、Android Studioでもやってみましたが、やはりadb.exeが二重起動してしまいました。
明日、もう一度、Android Studioをインストールしてみます。

>からすです。おはようございます。
>なるほど、Eclipse + ADT Plugin からの利用ができない、ということだったのですね。。。
>当方、Android Studioに乗り換えてしまっているので、ちょっとすぐには分からないので、とりあえず:
>
>**   to: 同じようにADT環境で開発されていらっしゃる方
>**  
>**   アドバイス等ありましたらコメントお願いいたします。
>
>とふっておいて、なんですが、いちおう推測とか記載しておきます。
>状況から察するに、EclipseかADT Pluginのどちらかが、お使いのJavaと仲が悪くなってしまった感じに思えます。
>
>(Windowsやその他のファイヤーウォールの設定の可能性もありますが)
>
>Eclipseはともかく、ADT Pluginはサポートされなくなって久しいので、
>この場合はJavaを古いバージョンにしたほうがよいように思います。
>
>(いちおう、Java7もオラクルさんのサイトの奥深くからダウンロードできたはず、、セキュリティ的にどうかとおもいますが、、そもそもAndroid自体がJava8にはま>だ対応していなかったような。。。)

M.Yamakarasu

unread,
Mar 1, 2016, 10:09:49 AM3/1/16
to android-g...@googlegroups.com
からすです。こんばんわです。

うーん、解決しなかったですか。
もう少し心当たりがありますので、記載しておきます。
(無駄に長文失礼いたします)
的外れかもしれず、お手数おかけいたしますが。。。

adbはサーバーアプリ(タスクマネージャで見えるadb.exe)とクライアントアプリ(Android studioとかEclipse+ADT Pluginとか)で動いています。
このときアプリ間のやりとりはTCPをつかっています。
で、ある特定のクライアントアプリがTCPポートを使っていると、
ほかのクライアントアプリがつながらなかったりする事があります。

ここらへんの競合しているクライアントアプリを探す場合は、
adb.exeが多重起動しているときに、コマンドプロンプトから、
  > netstat -ano | findstr 5037
と入力して、adbのデフォルトポートのTCP5037番を使っているプロセスの
IDを確認して、タスクマネージャから誰が使っているかを確認できます。
誰か、がすぐに分かれば、そのプロセスをKillしてみるのも手かと思います。

が、ちょっと乱暴なので、とりあえず、android studio専用に
別のadbサーバを起動して、そっちを使うようにしてあげるという手段が
以下となります。

最初に5037番以外のポート番号を、、適当に25037番とか考えます。

次に、タスクマネージャから adb.exe を全部killしておきます。
adbサーバーをそのポート番号で起動するため、コマンドプロンプトで、
  > set ANDROID_ADB_SERVER_PORT=25037
と入力します。

そのまま *同じ* コマンドプロンプトから、
  > adb start-server
と入力します。
うまくいくと、
  * daemon not running. starting it now port 25037 *
  * daemon started successfully *
と表示されます。
うまく起動できない場合はその番号がすでに使われているかもしれませんので。別の番号で試してみてください。

ちなみに、上のadb start-serverをやらないで、次のandroid studioの起動を
しても多分大丈夫です。
(Android monitorを立ち上げたときに内部でadb start-serverやっていると
思いますので)

そのまま *同じ* コマンドプロンプトから、
  > <android studioをインストールしたフォルダ>¥bin¥studio.exe
(64bit Windowsの場合はstudio64.exeですかね)
と入力してandroid studioを起動します。

Eclipse+ADTでも大丈夫だと思いますが、試した事はないです。

なお、終わるときはコマンドプロンプトの画面を閉じる前に、
*同じ* コマンドプロンプトから
  > adb kill-server
をやっておいたほうがよい気がします。

うまくいったら、まとめてバッチファイル化しておけばよいです。

まだadbサーバとAndroid端末間の競合があった場合も考えられますが、
Andorid studioを入れ直すよりは、まずは上記をお試しいただければ、
と思います。

--
からす@いばらき

2016年3月1日 22:25 <comor...@yahoo.co.jp>:

comor...@yahoo.co.jp

unread,
Mar 2, 2016, 7:26:04 AM3/2/16
to android-g...@googlegroups.com
からすさん

度々、ありがとうございます。
下記の件、試しました。

adb.exeが多重起動している状態で
コマンドプロンプトから「netstat -ano | findstr 5037」を
実行したところ、PIDナンバーが表示されたのですが、
タスクマネージャ - サービスを見ても
該当のPID NOがなく、再度、上記コマンドを入力すると
別のPID NOが表示され、毎回PID NOが変わってしまいます。

どのサービスが使っているのか分からない状態で
ポート番号の変更をすると、そのサービスのポート番号も
変わってしまうのでしょうか?

Eclipseだけが変わるのであれば、直ぐにでもそのコマンドを入力してみようかと
思うのですが、恐らく両サービスのポート番号が変わるのでしょうね。

(>64bit Windowsの場合はstudio64.exeですかね)

M.Yamakarasu

unread,
Mar 2, 2016, 9:18:10 AM3/2/16
to android-g...@googlegroups.com
からすです。こんばんわです。

いろいろはしょりすぎたので混乱させてしまっておりましたら申し訳ありません。

netstat の結果については、追っかけるのは手間がかかると思いますので、
あまり気にしないでいただければ、と思います。

大分下の方に記載してしまった、ANDROID_ADB_SERVER_PORTの環境変数を使う方もお試しください。
この場合、指定したTCPポートでつながるADBを使用できるのは、同じコマンドプロンプトから起動したアプリだけ(他のサービスやアプリは変更したADBのポート番号が分からない)なので、効果があるかも、という期待です。

と書きつつ話が戻ってしまいますが、netstatで見られた際、
    TCP  127.0.0.1:5037   0.0.0.0    LISTENING   <adb.exeのPID>
はなかった(つまり、adb.exe自体のPIDもなかった)でしょうか?
そうすると、なんとなく意図しないadb.exe(古いものがどこかにひっそりといたり、ドライバと一緒にインストールされていたり(この場合はファイル名が
かわっているかも))が存在して、それが再起動を繰り返している、
という感じなのかも知れません。

--
からす@いばらき

2016年3月2日 21:25 <comor...@yahoo.co.jp>:

comor...@yahoo.co.jp

unread,
Mar 3, 2016, 8:17:09 AM3/3/16
to android-g...@googlegroups.com
からすさん
ありがとうございます。
set ANDROID_ADB_SERVER_PORT=25037
のコマンドをコマンドプロンプトから実行し、Eclipseを立ち上げたところ、
やはりadb.exeが二つ出てきてしまいました。
「netstat -ano | findstr 5037」を実行すると、
LISTENING PIDが表示されましたが、
直ぐに消えてしまい、しばらくするとまた2つ現れ、
PID番号が変わってしまいます。
PCの調子があまりよくないようなので、週末にPCのフォーマットを掛け、
一からインストールをしてみようかと思います。
ご対応ありがとうございました。
Reply all
Reply to author
Forward
0 new messages