今日、Android エミュレーターを使用しようとしましたが、新しいプロジェクトを作成するだけで十分でした.Android エミュレーターを開くと、実行中のプログラムが表示され、リモート ホストが既存の接続例外を強制的に閉じました。
問題分析
この問題の主な原因は、Android エミュレーターのポートが占有されていることです。
解決
1 コマンド ボックスを開き、次のコマンドを入力して、ポート 5037 を使用するアプリケーションを検索します。他に何もなければ、このポートを使用する 2 つのプログラムがあることがわかります。1 つは Android エミュレーターで、もう 1 つは起動して実行するプログラムです。わたしたちのため。
netstat -aon|findstr "5037"
つまり、このポートを使用するプログラムが 2 つあるため、例外があります。
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 14480
TCP 127.0.0.1:5037 127.0.0.1:51377 ESTABLISHED 14480
TCP 127.0.0.1:5037 127.0.0.1:51652 ESTABLISHED 14480
...
TCP 127.0.0.1:51377 127.0.0.1:5037 ESTABLISHED 18740
TCP 127.0.0.1:51652 127.0.0.1:5037 ESTABLISHED 18740
TCP 127.0.0.1:56825 127.0.0.1:5037 ESTABLISHED 18740
2 構成環境変数を使用して、プログラム実行ポートを変更します
詳細システム設定で、システム環境変数を選択し、システム変数に新しいプロジェクトを作成します。
(1) 変数名を入力します: ANDROID_ADB_SERVER_PORT
(2) 変数を入力します値: 10000 —— 60000 (他のポートと競合しないように、範囲内の任意の値を取ります) をクリックし
、[OK] をクリックします。