web-dev-qa-db-ja.com

Android Studio-localhost:8600 Java.net.ConnectExceptionでデバッガーを接続できません

電話でデバッグを実行しているときに、デバッガをAndroid Studioにアタッチできません。

現在、Android 4.4.4を実行しているSamsung S4を使用しています(ただし、さまざまなAndroidでS5、S6、S7、およびバージョン)。次のエラーのいずれかで実行しようとするとタイムアウトします。

I/System.out:WAITチャンクの送信
W/ActivityThread:アプリケーションは、ポート8100でデバッガーを待機しています...

または

デバッガーポートlocalhost:8600 Java.net.ConnectException "connection refused"を開けませんでした

そしてアプリは言います:

デバッガを待っています
アプリケーション(プロセス)は、デバッガーの接続を待機しています。
強制終了

Android Studioバージョン:

Android Studio 2.2.2
ビルド#AI-145.3360264、2016年10月18日にビルド
JRE:1.8.0_112-release-b05 x86_64
JVM:OpenJDK 64-Bit Server VM by JetBrains s.r.o

Macバージョン:

10.11.6(15G1004)

アプリケーションを正常に接続して実行できますが、[実行]> [アプリのデバッグ]> [接続された電話を選択]> [OK]を実行すると、デバッガをアタッチできません。

同じ携帯電話を使用して、他のコンピューター(WindowsとMacの両方)でデバッグでアプリを実行できました。

何時間ものデバッグとオンライン検索から試したさまざまなアプローチ:

  1. キャッシュの無効化/再起動Android studio

  2. ポート8100、8600、8601などで実行されている他のものを確認します。bashから次を実行しても何も返されません。

    $ # while Android studio is trying to attach the debugger
    $ lsof -i :8100
    $ lsof -i :8600
    COMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
    

    studio 6282 peter 125u IPv4 0x973c7e31bda641ab 0t0 TCP 192.168.1.16:64022->ip-166-62-27-181.ip.secureserver.net:asterix(SYN_SENT)$ lsof -i:8601 $ $#after Android studioはデバッガーの接続に失敗します$ lsof -i:8100 $ lsof -i:8600 $ lsof -i:8601 $

  3. 実行ツール> Android> Androidデバイスモニター-デバイスは表示されますが、実行できませんAndroidデバイスモニターアプリをデバッグしようとしていますが、「ADB統合を有効にするためにモニターが閉じられます。続行しますか?」と表示されます。

  4. Adbプロセスの検索と強制終了

    ps aux | egrep '(adb|Java)'
    ... then doing `kill <pid>` or `kill -9 <pid>` if necessary for the found ones
    
  5. 再起動Android studio

  6. コンピューターを再起動します

  7. 更新Java Oracle WebサイトからのJDK —ただし、理由はわかりませんAndroid Studioは、「JVM:OpenJDK 64-Bit Server VM by JetBrains sro "

  8. 完全にアンインストールして再インストールしますAndroid studio- https://stackoverflow.com/a/18458893/376489 -奇妙なことに、これは1回実行するとうまくいったと思いますデバッガー、そして再び…

  9. [実行]> [デバッガーをAndroid Processに接続しました-これは役に立ちませんでした

  10. 実行してみました:

    ~/Library/Android/sdk/platform-tools/adb kill-server &&
     ~/Library/Android/sdk/platform-tools/adb start-server
    
  11. [実行]> [構成の編集]> [実行/デバッグ構成]> [APKが変更されていない場合はインストールをスキップする]をオフにしてみました

  12. [システム環境設定]> [セキュリティとプライバシー]> [ファイアウォール]を確認します-これはオフになっています

  13. 更新1:電話の許可を取り消して再起動してみました

  14. 更新1:すべてのブレークポイントをミュートAndroid Studio

上記で追加した詳細に、間違っている可能性のあるものや意味のあるものについて他のアイデアはありますか?

22
MrColes

かなり恥ずかしいですが、localhostとして何かをテストするために/ etc/hostsファイルにipアドレスを入力し、それを削除したことがないようです。/etc/hostsに次のものがあることを確認するコメントを別の投稿に見つけました。

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

その偽の行をコメントアウトすると、デバッガは現在動作しています。そのファイルに12個ほどの他のIPがあるため(フレンドリ名でリモートホストをより簡単にテストできます)、一番下にあることに気付かなかったに違いありません。これが問題であるかどうかを検証するためのより確実なアプローチは、localhostにpingを実行し、127.0.0.1のIPアドレスに解決されることを確認することだと思います

$ ping localhost
PING localhost (127.0.0.1): 56 data bytes

ここにいる他の人々からの素晴らしいコメントと提案、ありがとう!

23
MrColes

私はちょうど同じ問題を経験しました。 Android Studioバージョン2.2には、たとえば here および here

私の場合、次のことが役立ちました。

  • 「実行」->「構成の編集...」に進み、そこからプロファイルを削除して、アプリの起動プロファイルを削除します。プロファイルを削除した後、[OK]ボタンを押すことを忘れないでください。 :)
  • もう一度[実行]-> [構成の編集...]に進み、[+]ボタンを押して、Androidアプリ起動プロファイルを選択し、開始モジュールを選択します。他のデフォルト値プロファイルの大丈夫だった。

これがあなたにも役立つことを願っています。

7
Nantoka

私も同じエラーが発生し、このことは私のために働いた

1. Open Android Studio -> Terminal
2. Change directory to $Android SDK Path$\platform-tools
3. Write command adb get-state and hit enter.

次に、この出力を取得します

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
2
Shubham

1.プロジェクトのクリーニングを試してくださいBuild-> clean project

2.doファイル->無効/キャッシュの再起動は上記の場合に役立ちます。

3.携帯電話の接続に使用しているデータケーブルを変更してみてください。

上記が役に立たない場合は、Android wifi ADBプラグインをインストールし、wifi経由でデバッグを実行してください。

2
Rajesh.k

真のデバッグビルドのサポート 。開発者は、Android:debuggable属性をマニフェスト内のタグに追加する必要がなくなりました—ビルドツールは属性を自動的に追加します。 Eclipse/ADTでは、すべてのインクリメンタルビルドはデバッグビルドであると想定されているため、ツールはAndroid:debuggable = "true"を挿入します。署名付きリリースビルドをエクスポートする場合、ツールは属性を追加しません。 Antでは、antデバッグコマンドは自動的にAndroid:debuggable = "true"属性を挿入しますが、antリリースは挿入しません。 Android:debuggable = "true"が手動で設定されている場合、antリリースはリリースビルドではなくデバッグビルドを実際に実行します。

私の場合、私は5時間でこの問題に苦労しており、

minifyEnabled trueが主犯なので、変更minifyEnabled false私のために働く

私のアプリのbuild.gradleファイルは次のようになります

 buildTypes {
        debug {
            signingConfig signingConfigs.debug
            minifyEnabled false
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }

    }
2
sushant gosavi

私は実際のデバイスを使用しています。デバイスでアプリを削除し、Android Studioから実行するだけでこの問題は解決しました。

Android Studioは、すでに電話にあったファイルを上書きするのに問題があったようです。

1
Balazs F.

Android Studio 3.3、wi-fi接続された電話をデバッグしようとすると反対の問題があります。

Android Studioでデバイスを選択すると、次のメッセージが表示されます。

'app'の実行エラー:デバッガーポートを開くことができません(localhost:8600):Java.net.ConnectException "Connection refused:connect"

ネットワークでIPV-6も有効にしています。

問題は、デフォルトでは「localhost」が私のマシンでは:: 1に解決されるが、ADBは127.0.0.1に明示的にバインドすることです。これは、ADBをリモートマシンで実行しているエミュレーターに接続しようとして1日を費やしたためです(残念ながらAndroid 4.4以降ではありません。

問題を解決するには、次の行を\ windows\system32\drivers\etc\hostsに追加します。

127.0.0.1 localhost

1
Robin Davies

Googleピクセルの第1世代を使用せず、新しいNokia 7プラスを使用するだけで、この問題が修正されました。

0
RelativeGames

端末で以下のコマンドを使用してみてください

  1. adb kill-server

  2. adb start-server

うまくいきます。

0
Vishakha Tyagi