879

Motorola Droidでアプリケーションをデバッグしようとしていますが、USB 経由でデバイスに接続するのに問題があります。私の開発サーバーは、 Hyper-Vで実行されている Windows 7 64 ビット VM であるため、ゲストまたはホストから USB 経由で直接接続することはできません。

いくつかの異なる USB-over-TCP ソリューションをインストールしましたが、ADBモニターが「devicemonitor failed to start monitoring」を繰り返し報告するため、接続に問題があるようです。USB 接続や別の実行可能なオプションの代わりにネットワークを使用して、開発マシンのクライアントからデバイスのデーモンに直接接続する方法はありますか?

4

37 に答える 37

1205

手動プロセス

ルート化されている場合は、デバイスから

xda-developers の投稿によると、次のコマンドを使用して、デバイスから Wi-Fi 経由で ADB を有効にできます。

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

そして、それを無効にして、ADBをUSBでリッスンするように戻すことができます

setprop service.adb.tcp.port -1
stop adbd
start adbd

コンピューターから、既に USB アクセスがある場合 (root は必要ありません)

すでに USB を使用している場合は、Wi-Fi を使用するように切り替えるのがさらに簡単です。デバイスが USB 経由で接続されているコンピューターのコマンド ラインから、コマンドを発行します。

adb tcpip 5555
adb connect 192.168.0.101:5555

192.168.0.101必ず、デバイスに実際に割り当てられている IP アドレスに置き換えてください。完了したら、次のコマンドを実行して adb tcp セッションから切断できます。

adb disconnect 192.168.0.101:5555

タブレットの IP アドレスは、次の 2 つの方法で確認できます。

手動 IP 発見:

Android の WiFi 設定に移動し、アクション バー (縦の省略記号) のメニュー ボタンをクリックし、[詳細設定] をクリックして画面の下部にある IP アドレスを確認します。

ADB を使用して IP を検出します。

adb 経由で次のコマンドを実行します。

adb shell ip -f inet addr show wlan0

ADB デーモンに USB 経由のリッスンに戻るように指示するには

adb usb

プロセスを自動化するアプリ

Google Play には、このプロセスを自動化するアプリもいくつかあります。クイック検索では、 adbWirelessWiFi ADB、およびADB WiFiが提案されます。これらはすべて root アクセスを必要としますが、adbWirelessに必要な権限は少なくなります。

于 2010-09-02T03:59:44.837 に答える
132

お使いの携帯電話がルート化されている場合、これは非常に簡単です。

Google Playからターミナル エミュレータをダウンロードします(無料のものもたくさんあります)。Android デバイスが Wi-Fi に接続されていることを確認し、Wi-Fi IP アドレスを取得します。ターミナル プログラムを開き、次のように入力します。

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

次に、コンピューターに移動し (Windows を使用していると仮定)、デスクトップに "cmd.exe" のショートカットを作成します (引用符なし)。

cmdショートカットを右クリックして選択します"Run as Administrator"

自分のandroid-sdk-windows\toolsフォルダに移動

タイプ:

adb connect ***wifi.ip.address***:5555

(example: adb connect 192.168.0.105:5555)

adb は、接続されていることを示すはずです。

注:速すぎて connect コマンドを実行できない場合、失敗する可能性があります。したがって、これが機能しないと言う前に、5 秒間隔で少なくとも 2 回試してください。

于 2010-09-18T01:28:42.283 に答える
94
  1. デバイスを USB 経由で接続し、デバッグが機能していることを確認してから、次を実行します。

    adb tcpip 5555
    adb connect <DEVICE_IP_ADDRESS>:5555
    
  2. USB を切断し、ワイヤレス デバッグを続行します。

  3. 完了して USB デバッグに戻したい場合は、次を実行します。

    adb -s <DEVICE_IP_ADDRESS>:5555
    

デバイスの IP アドレスを見つけるには、デバイスで に移動するSettings > Wi-Fi > Advanced > IP Addressか、 を実行しますadb shell netcfg

ルートは必要ありません。一度にデバッグできるデバイスは 1 つだけです。

この XDA の投稿を参照してください。

このadbコマンドはplatform-tools、Android SDK のフォルダーにあります。

于 2015-01-22T08:31:49.887 に答える
61

adb パスを Windows 環境パスに保存したとします。

  1. Android でデバッグ モードを有効にする

  2. USB経由でPCに接続

  3. コマンドプロンプトタイプを開く:adb tcpip 5555

  4. タブレットまたはスマートフォンを PC から取り外す

  5. コマンド プロンプト タイプを開く: adb connect IPADDRESS(IPADDRESS はタブレットまたはスマートフォンの DHCP/IP アドレスで、Wi-Fi -> 現在接続されているネットワークで確認できます)

コマンド プロンプトで次のような結果が表示されます。xxx.xxx.xxx.xxx:5555 に接続されています

于 2013-04-14T21:36:50.863 に答える
53

からadb --help:

connect <host>:<port>         - Connect to a device via TCP/IP

ちなみに、これはコマンドライン オプションです。

電話を Wi-Fi に接続してみて、ルーターから IP アドレスを取得してください。セルネットワークでは機能しません。

ポートは 5554 です。

于 2010-04-09T06:14:02.653 に答える
33

USB と TCPIP の両方をADBで動作させる必要があったので (聞かないでください)、次のようにしました (他の人が xda-developers から投稿した指示を使用して)

使用adb shell:

su
#Set the port number for adbd
setprop service.adb.tcp.port 5555

#Run the adbd daemon *again* instead of doing stop/start, so there
#are two instances of adbd running.
adbd &

#Set the port back to USB, so the next time ADB is started it's
#on USB again.
setprop service.adb.tcp.port -1

exit
于 2011-10-14T16:17:45.203 に答える
32

TCP ポートを使用してタブレットを接続するには。システムとデバイスが同じネットワークに接続されていることを確認してください。

  1. コンソールcmd.exe を開く
  2. タイプadb tcpip 5555
  3. システムに移動- >開発オプション - > USBデバッグ- > TCPIP接続のチェックを外します
  4. デバイスadb connect 192.168.1.2の IP アドレスを入力します
  5. 192.168.1.2 に接続

ポートフォワーディングを使って接続し ました ポートフォワーディングをしてみると、

adb 転送 tcp: <PC port>tcp:<device port>

お気に入り:

adb フォワード tcp:5555 tcp:5555。

C:\Users\abc>adb forward tcp:7612 tcp:7612

C:\Users\abc>adb tcpip 7612 が TCP モード ポートで再起動中: 7612

C:\Users\abc>adb connect 10.0.0.1:7612

10.0.0.1:7612 に接続

「デバイスが見つかりません」というエラーメッセージが表示された場合は、USB デバイスをシステムに接続し、同じ手順に従います。
ルート化されたデバイスの場合

setprop service.adb.tcp.port 5555
stop adbd
start adbd
于 2013-01-29T06:28:45.113 に答える
30

USB接続なしでデバイスを接続する方法がまったくわかりませんが、別のコンピューターで接続できた場合は、発行してadbdをTCPモードに切り替えることができます

adb tcpip <port>

端末から、ネットワーク上の任意の PC から Wi-Fi 経由でデバイスに接続するには、次のようにします。

adb connect <ip>:<port>

デバイスの端末から TCP モードに切り替えることも可能かもしれません。

于 2010-08-12T06:06:09.243 に答える
11

ブライアンが言ったように:

xda-developers の投稿によると、コマンドを使用してデバイスから WiFi 経由で ADB を有効にできます。

setprop service.adb.tcp.port 5555

adbd を停止

adbd を起動

そして、それを無効にして、ADBをUSBでリッスンするように戻すことができます

setprop service.adb.tcp.port -1

adbd を停止

adbd を起動

すでに USB アクセスがある場合は、WiFi の使用に切り替えるのがさらに簡単です。デバイスが USB 経由で接続されているコンピューターのコマンド ラインから、コマンドを発行します。

adb tcpip 5555

adb 接続 192.168.0.101:5555

ADB デーモンに USB 経由のリッスンに戻るように指示するには

adb USB

Android マーケットには、このプロセスを自動化するアプリもいくつかあります。

動作します。Android シェルにアクセスしてコマンドを入力するだけです...

もう 1 つの (より簡単な) 解決策が市場に出回っています: adbWireless は、自動的に電話を設定します。

ルートが必要です!両方のための...

于 2011-01-24T05:13:00.323 に答える
9
adb tcpip 5555

奇妙ですが、これは USB ケーブルが接続されている場合にのみ機能します。その後、USB のプラグを抜いて、他のすべての adb で使用できます。

USBに戻すときも同様で、

adb usb

USBが接続されている場合にのみ機能します。

発行しても構わない

setprop service.adb.tcp.port 5555

また

setprop service.adb.tcp.port -1

次に、adbd を停止して開始します。まだ USB ケーブルが必要です。または、動作しません。

したがって、USB 経由の ADB が機能していない場合、WiFi 経由の ADB も有効にできないに違いありません。

于 2011-01-19T08:05:45.193 に答える
8

たった 1 つのコマンドで TCP モードと USB モードを切り替えるには、これを に追加します/init.rc

on property:service.adb.tcp.port=*
    restart adbd

on property:service.adb.tcp.enable=1
    setprop service.adb.tcp.port 5555

on property:service.adb.tcp.enable=0
    setprop service.adb.tcp.port -1

プロパティservice.adb.tcp.enableを使用して、ポート 5555 でのリッスンを有効または無効にできるようになりました。実行netstatして、リッスンしているかどうかを確認します。service.adb.tcp.portご覧のとおり、手動で変更したい場合にもトリガーされます。

于 2012-07-14T16:17:42.693 に答える
5

SSH ローカル ポート フォワーディングも使用できます。しかし、それでもUSBケーブルが必要です。sshd を実行しているコンピューター (ホスト) に USB を使用して携帯電話を接続します。リモート (ゲスト) PC で、ポート転送/トンネリングが可能な SSH クライアントを起動します。例:

plink -L 5037:localhost:5037 <host_IP_address>

この構造を使用して、デバイスを仮想マシンに接続します。Eltima USB to Ethernet は十分に安定していませんでした (デバッグ中のタイムアウト)。

SSH トンネリングは無料で機能し、より信頼性が高くなります。

于 2011-02-17T21:45:46.127 に答える
4

他の答えは紛らわしいと思います。adbWireless を使用する方がはるかに簡単です。

http://ppareit.github.com/AdbConnect/

携帯電話にアプリをインストールして Wi-Fi 経由でデバッグを切り替え、Eclipse プラグインをインストールするだけで完了です。

于 2012-07-17T08:41:29.003 に答える
3

Bluetoothを使用したブライアンの回答の拡張は次のとおりです。

  1. Linux では、Blueman を使用して、Bluetooth 経由でデバイスと PC インターネットを共有します。

    $ sudo apt-get install blueman
    $ blueman-manager
    Pair them: Search devices after enabling Bluetooth
    on your phone and making it visible
    $ blueman-services
    Network > [X] Network Access Point (NAP)
    Your Phone > Settings > Bluetooth > Paired Device > [X] Internet access
    
  2. ADB コマンドに Bluetooth ネットワークを使用します。

    $ adb tcpip 5555
    $ adb connect $(adb shell ip -f inet addr show bt-pan | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n1):5555
    

完了したら、USB モードに戻ります。

$ adb disconnect
$ adb usb

注: Bluetooth 3.0 および 4.0 は、最大 24 Mbit/s になります。

于 2014-11-10T10:19:32.017 に答える
3

USB経由で接続されたデバイスに、TCP経由でADBを自動的に有効にして接続するためのバッチファイルをまとめました。これにより、IP を手動で入力する必要がなくなります。

@echo off
setlocal

REM Use a default env variable to find adb if possible
if NOT "%AndroidSDK%" == "" set PATH=%PATH%;%AndroidSDK%\platform-tools

REM If off is first parameter then we turn off the tcp connection.
if "%1%" == "off" goto off

REM Set vars
set port=%1
set int=%2
if "%port%" == "" set port=5557
if "%int%" == "" set int=wlan0

REM Enable TCP
adb -d wait-for-device tcpip %port%

REM Get IP Address from device
set shellCmd="ip addr show %int% | grep 'inet [0-9]{1,3}(\.[0-9]{1,3}){3}' -oE | grep '[0-9]{1,3}(\.[0-9]{1,3}){3}' -oE"
for /f %%i in ('adb wait-for-device shell %shellCmd%') do set IP=%%i

REM Connect ADB to device
adb connect %IP%:%port%

goto end

:fail
echo adbWifi [port] [interface]
echo adbWifi off
goto end

:off
adb wait-for-device usb

:end
于 2013-01-05T13:25:39.417 に答える
3

手順 :

  1. su-- スーパー ユーザーに切り替えるには。
  2. setprop service.adb.tcp.port 5555- tcp ポートを指定するには - 5555 はここのポート番号です
  3. stop adbd- adbd サービスを停止します。
  4. start adbd- adbd サービスを開始します。

sshこれは私のWindows PCから完全に動作します

cyanogen モバイルの起動時にこれを実行するか、plink でこれを起動しようとします。plink を使用すると、su 権限でシェルを起動できません ... sudo または su コマンドが機能しません。起動時に、それがどのように機能するかわかりません!su -c "sh /storage/sdcard1/start_adb.sh"私のシェル プログラムは、最後の 3 つのコマンド (su -- なし) を使用してssh から動作します。

ありがとう

于 2015-01-05T22:50:13.920 に答える
2

次のことを行う必要があります。

  • まず、環境パスに ADB を追加します。
  • CLI から次のコマンドを入力しますadb connect YOUR_DEVICE_IP:PORT_NUMBER (例adb connect 192.168.100.100:5555 )
于 2016-05-26T04:31:57.883 に答える
1

私はこれを機能させました。USBケーブルは一切使用していません。

  • アプリ adb ワイヤレス。
  • それを実行します。これにより、IP とポートが設定されます。次にドスで

    cd C:\Program Files\Android\android-sdk\platform-tools adb connect "192.168.2.22:8000 "enter"
    

接続しました。

于 2011-06-11T09:31:54.013 に答える
1

共有したい便利な方法を見つけました。

Windows の場合

一度 USB アクセスする

ルート不要

携帯電話と PC をホットスポットに接続するか、携帯電話からポータブル ホットスポットを実行して PC を接続します。

ブライアンの指示に従って電話のIPを取得します(電話からホットスポットを作成している場合は必要ありません)

adb shell ip -f inet addr show wlan0

メモ帳を開く

これらを書く

@echo off
cd C:\android\android-sdk\platform-tools
adb tcpip 5555
adb connect 192.168.43.1:5555

上記の場所を、PC にabd.exeファイルが含まれる場所に変更します。

IP を電話の IP に変更します。

: 上記の IP は、Android デバイスがホットスポットを作成するときの基本的な IP です。Wi-Fi ネットワークに接続していて、ホットスポットに接続するたびにデバイスの IP が変化し続ける場合は、Wi-Fi 設定内で構成することにより静的にすることができます。ググってください。

ファイルを ABD_Connect.bat (MS-DOS バッチ ファイル) として保存します。

どこかに保存して、デスクトップまたはスタートボタンへのショートカットを参照してください。

一度 USB で接続し、アプリケーションを実行してみます。その後、ワイヤレスで接続するたびに、ショートカットをダブルクリックします。

: アプリケーションをデバッグするたびに、ショートカットを開く必要がある場合があります。そのため、デスクトップにショートカットのショートカット キーを作成すると、より便利になります。のようなショートカットキーを作りましたCtrl+Alt+S。だから、デバッグしたいときはいつでも、押しShift+F9Ctrl+Alt+S

: コマンド ウィンドウで device=null エラーが見つかった場合は、IP を確認してください。変更されている可能性があります。

于 2015-09-08T09:56:26.367 に答える
1

私のシステムでは、次のようになりました。

私の Linux シェルの Android デバイスでは、単純な「ifconfig」で IP アドレスが得られませんでした。次のように入力する必要がありました。

ifconfig eth0

-また-

netcfg

私のIPアドレスを取得します。(dmesgで見たので、eth0が構成されていることを知っていました。)次に、次のことを行いました。

setprop service.adb.tcp.port -1

adbd を停止

adbd を起動

それから私のWin7ボックス(Eclipse 3.7.1を実行しているもの)で。コマンドプロンプトを開きました

\android-sdk\platform-tools>

管理者として実行せずに。それから私はやった

adb 接続 12.345.678.90

ポートを入れたことはありません。私がした場合

adb tcpip 5555

デバイスが見つからないと言われましたが、「adb devices」リストには何も表示されませんでした。つまり、上記の tcpip コマンドを実行しない場合にのみ機能します。

「adb shell」を実行して、Android デバイスをいじることができます。しかし、現在、私の Android デバイスは [Run] -> [Run Configurations] -> [Target] タブに表示されません。一方、ターゲットタブを自動に設定したままにすると。次に、Run->Run でアプリを実行すると、Android デバイスがターゲットの 1 つとしてリストされていなくても、Android デバイスで実行されます。

于 2011-12-22T17:44:18.417 に答える
1

adbwireless アプリを使用して電話を有効にし、Windows マシンから adb connect を使用して通話します。電話の adbwireless アプリは、接続方法を示し、IP アドレスとすべてを提供します。

USB 経由で接続し、電話に adb tcpip 5555 経由で TCPIP を使用するように指示し、USB を切断してから adb connect を使用するのは、あまり面白くない代替手段です。この方法では、電話の IP アドレスを自分で把握する必要があり (adbwireless が IP を教えてくれます)、USB 経由で接続する必要があり、adb tcpip を実行する必要があるため (adbwireless もそれを処理します)、これは非常に困難です。

だから:あなたの電話にadbwirelessをインストールしてください。これを使って。可能です。私は Linux と Windows で日常的に実行しています。

于 2011-07-22T17:45:23.253 に答える
-34

私は、最終的に TCP を介したデバイスへの直接接続の可能性をあきらめた後、Eltima USB to Ethernet ソフトウェアを動作させることになりました。エミュレーターのみをネットワーク経由でデバイスに接続することは不可能であるとほぼ判断しました。

于 2010-04-17T20:39:35.403 に答える