ADB over TCPでAndroidに接続するにはどうすればよいですか?[閉まっている]


879

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

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


75
ときにUSB経由で接続されています:adb tcpip 5555。USBを切断し、電話のIPをから表示しますSettings > About Phone > Status。今adb connect 192.168.x.x、それだけです。ツールもソフトウェアもありません。うまくいきます。
andreszs 2015

1
Andrewの発言-これらはGoogleのAndroidデベロッパーウェブサイトからの公式の説明であり、rootは必要ありません。私の根ざしていないHTC One m8で作業したところです(もちろん、開発者向けオプションを有効にする必要があります)。
ジェフワード

adbサービスがポート5037で実行されている場合、なぜ5555から5585の範囲のデバイスを見つけるのですか?
Shivam Aggarwal

@Andrew このようなアプリを使用して、ルートアクセスのないNexus 6でコンピューターなしでポートを開閉できますか?パブリックネットワーク上にあり、開発に電話を使用していないときにポート5555を開いたままにしておくと発生する可能性のあるセキュリティの問題が心配です。
DaveTheMinion

回答:


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アクセスが既にある場合(ルートは不要)

すでに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の無線LANの設定に入り、アクションバー(縦省略記号)でメニューボタンをクリックし、ヒットアドバンスをして、画面の一番下にあるIPアドレスを参照してください。

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

adbから次のコマンドを実行します。

adb shell ip -f inet addr show wlan0

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

adb usb

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

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


3
これを行うにはrootアクセスが必要ですか?ターミナルを使用してコマンドを実行できるようですが、実際には機能していないようです...
JJ

6
@ JJ-残念ながら、はい。ルートが必要です。
Kingsolmn

178
第二の溶液のための(adb tcipip 5555およびadb connect ...必要に応じて何のルートがありません。
Ridcully

11
adb tcpip <port>それでも、ro.kernel.qemuプロパティを設定(エミュレータモードで実行)ro.secureするか、0(ルートデバイス)にするかro.debuggableservice.adb.root1に設定する必要がありますadbd。上記のいずれにも該当しない場合は、TCP / IP接続を開かないだけです。変数については、netmite.com / android / mydroid / system / core / adb / adb.c adb_mainパーツを参照してくださいsecureadbdルート権限を取得していない2.3.7で、AndroidがTCP / IPモードになりません。
soulseekah 2012年

2
すごい!2番目のソリューションは本当にrootを必要としません!
Grzegorz D. 2013

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は接続したと言うはずです。

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


6
この答えは、デバイスで実行する必要がある部分とコンピューターで実行する必要がある部分を説明しているので、私には適していました。
エドゥアルド

5
BEFORE "ADB 5555 TCPIP" DO "ADBキル・サーバー"。 AFTER "ADB接続192.168.0.101:5555" DO "ADBデバイス" OR "adbのシェル"(シェルを起動しない接続)。
samis

私が試したadb tcpip 5555後、他の人adb connect myIP:5555が自分のPCで実行しました。彼は私の電話にアプリをインストールできましたが、リモートでデバッグできませんでした。リモートでデバッグすることは可能ですか?私の電話にはwaiting for debugger永遠に対話がありました。
アンジェリーナ

これにより、再起動後も設定が維持されますか?
Hritik

これはモバイルインターネット経由でipv6アドレスで動作しますか?
CaptainFreedom

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のフォルダーにあります。


2
実際、正しい順序に従えば、一度に多くのデバイスを接続できます。各電話のtcpipを5555に個別に設定し、各電話とボイラーに対してconnectコマンドを発行するだけで、それらはすべてadbに接続されます。
andreszs 2015

私の電話がこのように接続されている場合、デバッグは少し遅くなります。また、ときどきそれがスリープ状態になり、すぐに切断されます。
Aron Lorincz

一部のデバイスでは、adb tcpipコマンドとadb connectコマンドの間の遅延を非常に低くする必要があります。そうしないと機能しません。また、私のためにそれを実行して働いていたadb tcpip 5555 && adb connect <DEVICE_IP_ADDRESS>:5555
vhamon

61

Windows環境のパスにadbパスを保存したと仮定します

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

  2. USB経由でPCに接続

  3. コマンドプロンプトタイプを開きます。 adb tcpip 5555

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

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

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


一連の手順に感謝し、PCを切断するタイミングを正確に説明していただきありがとうございます。
満州

53

からadb --help

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

ところで、これはコマンドラインオプションです。

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

ポートは5554です。


1
私は5555-5558と今5554でそれを試しました、そしてそれは何らかの理由でそれは機能しません。基本的にはコマンドラインから:adb kill-server adb connect 10.10.10.100:5554結果、*デーモンが実行されていません。今すぐ開始* *デーモンが正常に開始* 10.10.10.100:5554に接続できないdevワークステーションからデバイスのIPにpingできます。出力に「デーモンが正常に開始されました」と表示されている場合、デバイスのデーモンを参照しているのではありませんか?おそらくエミュレータを使用しようとしていますか?デバイスでデーモンが実行されていることを確認/検証するにはどうすればよいですか?ありがとう
JDM 2010

2
adb tcpip portデフォルトはUSBを介したデバッグであるため、最初に行う必要があります。後者の後には、接続することができconnect host:port、それが動作するはずです
エイデンストライダム

「adb tcpip port」という文字通り?それは単に文字列「エラー:デバイスが見つかりません」を返します-タイプミスはありますか?または、ここで何かを交換する必要がありますか?
BrainSlugs83 2013

3
ああ!CyanogenModのデフォルトのポート番号は5555です。いいね。:D
BrainSlugs83 2013

@Michael一部のセルネットワークで機能する可能性がありますが、ネットワーク構成は基本的にブラックボックスです。ファイアウォールの背後にあるかどうか、ポートがブロックされているかどうか、NAT変換が実行されているかどうかなどはわかりません。
BrainSlugs83 2013

45

Windowsユーザーの場合:

ステップ1:
Androidフォンで開発者向けオプションを有効にする必要があります。
この方法で開発者向けオプションを有効にできます。
•[設定]> [バージョン情報]> [ソフトウェア情報]> [詳細]を開きます。
•次に、「ビルド番号」を7回タップして、開発者向けオプションを有効にします。
•[設定]メニューに戻ると、「開発者向けオプション」が表示されています。
•それをタップし、次の画面のメニューからUSBデバッグをオンにします。

ステップ2:

cmdを開き、adbと入力します。
adbが有効なコマンドではない場合は、環境変数へのパスを追加する必要があります。

•まず、SDKがインストールされているフォルダーに移動します。
このパスをたどると、このパスは単なる例です。D:\ softwares \ Development \ Andoird \ SDK \ sdk \ platform-tools \; D:\ softwares \ Development \ Andoird \ SDK \ sdk \ tools;
•Windowsシステムの詳細設定で検索する

ここに画像の説明を入力してください

環境変数を開きます。

ここに画像の説明を入力してください

次にパスを開き、次のパスを貼り付けます。これは例です。
あなたのSDKパスは私のものとは異なりますあなたのものを使用してください。D:\ softwares \ Development \ Andoird \ SDK \ sdk \ platform-tools \;
D:\ softwares \ Development \ Andoird \ SDK \ sdk \ tools;

ここに画像の説明を入力してください

ステップ3:

cmdを開き、adbと入力します。それでもadbが有効なコマンドではない場合は、パスが上記の手順に従って正しく設定されていません。

ここに画像の説明を入力してください

これで、AndroidフォンをPCに接続できます。

cmdを開いてadb devicesと入力すると、デバイスが表示されます。 あなたの電話のIPアドレスを見つけます。

ここに画像の説明を入力してください

タイプ:-adb tcpip 5555

ここに画像の説明を入力してください

スマートフォンのIPアドレスを取得する

adb shell netcfg

さて、

adb connect "IP address of your phone"

次に、Androidプロジェクトを実行し、デバイスが表示されない場合は、電話のadb接続IPアドレスをもう一度入力します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

LinuxおよびmacOSユーザーの場合

手順1:ターミナルを開き、次を使用してadbをインストールする

sudo apt-get install android-tools-adb android-tools-fastboot

USBケーブル経由でPCに電話を接続します。端末で次のコマンドを入力します

adb tcpip 5555

adbを使用して、Android電話のIPアドレスを接続します。

スマートフォンを取り外します。


36

ルート権限を取得されていないデバイス上のコンピュータから

(これは、ルート化されたデバイスを使用しても実行できますが、USB接続を必要としないルート化されたデバイスでシェルを使用できます)

まず、コマンドプロンプト(CMD)を開きます。Android StudioまたはIntelliJを使用している場合は、そこに含まれているコンソールを使用できます。

パスにadbを追加している場合は、cdの部分をスキップできます。


可能であれば、SDKの場所を開いて右クリックし、「ここからコマンドプロンプトを開始」を押します。すべてにこのオプションがあるわけではないので、次の(/これらの)コマンドも実行する必要があります。

Windows:ドライブを変更します(該当する場合)

D: 

そして、SDKとプラットフォームツールにアクセスします。このパスをSDKの場所に置き換えます。

cd /sdk/path/here/platform-tools

これで、Androidデバッグブリッジにアクセスできます。


デバイスがコンピューターに接続されている状態で、次の操作を行います。

adb tcpip <port> 
adb connect <ip>:<port>

<port>接続先のポートはどこですか(デフォルトは5555)と<ip>接続したいデバイスのIPです。

ご注意ください: 5555はデフォルトのポートであり、IPアドレスを書き込むだけで接続されます。カスタムポートを使用すると、少なくともセキュリティを少し向上させることができます。Wi-Fi経由のUSBデバッグは悪用される可能性がありますが、デバイスが悪用されるコンピューターに接続されている場合のみです。デフォルト以外のポートを使用すると、少なくとも接続が少し難しくなります。

カスタムポートを使用する場合は、必ずIPの後に追加してください。接続するポートを記述しない5555を作成しないと、使用しなかった場合、接続は失敗します。

デバイスのIPアドレスは、次の2つの方法で確認できます。

  • デバイスによって、正確な名前は異なる場合があります。設定を開き、[ 端末情報] -> [ ステータス] -> [ IPアドレス]に移動します

  • ADBを使用してIPを取得する

コンソールから、以下を実行します。

adb shell ip -f inet addr show wlan0

接続が完了したら、次のようにしてデバイスをコンピューターから切断できます。

adb disconnect <ip>:<port>

または、すべてのデバイスを切断するIPがありません。カスタムポートを使用した場合は、どのポートから切断するかを指定する必要あります。ここでもデフォルトは5555です。

ポートを無効にするには(必要な場合)、デバイスを接続した状態で次のコマンドを実行します。

adb usb

または、デバイスを再起動してtcpip接続を削除できます

ルート権限を取得されたデバイス上のコンピュータから

まず、シェルにアクセスする必要があります。USBケーブルを使用してデバイスを接続し、adb shell Google Play、FDroid、またはその他のソースからアプリまたはダウンロードします。

それからあなたはします:

su
setprop service.adb.tcp.port <port>
stop adbd
start adbd

そして、デバイスを接続するには、を実行して非ルートバージョンと同じようにしますadb connect <ip>:<port>

また、ポートを無効にしてUSBリスニングに戻る場合は、次のようにします。

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

Android Studioプラグインを使用してそれを行うこともできます(現在の名前を覚えていません)。ルート権限を取得したユーザーには、Androidアプリをダウンロードして電話接続をセットアップするオプションもあります(おそらくadb connectがまだ必要です) )。

一部の電話には、開発者向けオプションの設定があります(これは一部の非ルート化電話に適用されますが、おそらく一部のルート化された電話にも当てはまります)。それを持っている携帯電話はほとんどありませんが


adb shell ip -f inet addr show wlan0 IPアドレスとポートのサポートは、どこか他の場所で代用されますか?
Michael

その行ではありません。これは、IPを取得するための方法です。その行では何も置き換えるべきではありません
Zoe

33

私はADBで USBとTCPIPの両方を動作させる必要があるので(質問しないでください)、次のようにしました(他のユーザーが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

機能しません:adbdが見つかりません。adbdは通常、start adbdを介して起動されます。しかし、おそらくいくつかのフォルダにスクリプト/実行可能ファイルがありますか?
KrisWebDev 2013

1
私のgnexでは、それは/sbin/adbdです。電話によって異なる場合があります。もちろん、ルート権限を取得する必要があります...ルート権限を取得していない場合、/ sbinにアクセスできません。
トランジスタ1

32

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

  1. コンソールcmd.exeを開きます。
  2. タイプ adb tcpip 5555
  3. [システム]-> [開発オプション]-> [USBデバッグ]に移動します。
  4. タイプadb connect 192.168.1.2これはあなたのデバイスのIPアドレスです。
  5. 192.168.1.2に接続

ポート転送を使用して接続されていますポート転送を実行してください。

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

お気に入り:

adb forward 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

2
コンソールでsu最初に書き込み、ルート化されたコンソールを取得します。
2014

30

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

adb tcpip <port>

端末から、次の方法でネットワーク上の任意のPCからwifi経由でデバイスに接続します。

adb connect <ip>:<port>

デバイスのターミナルからTCPモードに切り替えることもできます。


大規模な賛成を受けたすべての複雑な回答の中で、この8歳の彼は彼の最も単純な回答であり、応援する必要はありません。「adb connect <ip>:5555」と入力するだけで、展開先として使用できるようになります。
RogerW 2018

29

まず、デバイスをUSB経由で接続する必要があります

次に、デバイスをWIFIに接続し、IPアドレスを取得します。USB経由で接続している間に、これをコマンドラインまたはAndroid Studioターミナルに入力します

adb tcpip 5555
adb connect <device IP>:5555

次のメッセージが表示されます。

restarting in TCP mode port: 5555
connected to 172.11.0.16:5555

USBケーブルを取り外しても、logcatは通常どおり表示されます

できました。楽しい


これはうまくいきました。しかしながら。これらの手順を実行した後、エミュレータに切り替えることができなくなりました。提案?
Tim Scott

<adb kill-server>、次に<adb start-server>を使用してadbを再起動する必要があります
Joolah

21

デバイスを簡単に接続して、WiFi経由でAndroidアプリを実行、デバッグ、またはデプロイしたい場合は、私が開発したオープンソースのIntelliJプラグインを使用できます。ここにコードがあり、ここにに使用する準備ができているプラ​​グインが。

使い方はとても簡単です。ここにgifがあります:

ここに画像の説明を入力してください


。このエラーoccures:「「adb'command見つからないはあなたのAndroid SDKのインストールを確認します。
rostamiani

1
ANDROID_HOMEという名前の環境変数を宣言する必要があります。ただし、これを回避するために検討中のPRがあります。来週公開するバージョン1.2では、プラグインはIntelliJがインストールされている場合にのみ機能します:)
Pedro VicenteGómezSánchez15年

Macを使用していますが、ASにアイコンが表示されませんか?最初に何か手動で行う必要がありますか?
パウダー366

1
ANDROID_HOME環境変数が不要になった新しいバージョンをすでに公開しています。@ powder366手動でインストールするIntelliJプラグインストアからプラグインをインストールする必要があります。プラグインをインストールして使用するために必要なすべての手順は、プロジェクトのreadmeにあります。github.com/ pedrovgs / AndroidWiFiADBをご覧ください
Pedro

@PedroVicenteGómezSánchezありがとう。間違ったプラグインを選択しました。同じような名前の別のプラグインが存在します...
powder366

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 connect 192.168.0.101:5555

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

adb usb

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

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

他の(より簡単な)ソリューションが市場に出ています:adbWireless、それはあなたの電話を自動的に設定します。

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


2
...ただし、電話がルート権限を取得している場合のみ。
android.weasel

Asus Transformer 301-ルートは必要ありません
Aiden Strydom

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を有効にすることもできないでしょう。


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手動で変更したい場合にもトリガーされます。


8

bash util関数:

function adb-connect-to-wifi {
    ip="$(adb shell ip route | awk '{print $9}')"
    port=5555
    adb tcpip ${port}
    adb connect ${ip}:${port}
}

7

ステップ1。

adbホストコンピューターとAndroidデバイスの両方が同じWifiネットワーク上にあることを確認ます。

ステップ2。

USBケーブルを使用して、Androidデバイスをコンピューターに接続します。これを実行するとすぐに、ホストコンピューターがデバイスを検出し、adbがコンピューターのUSBモードで実行を開始します。接続されたデバイスを確認できますが、をadb devices実行して、adbがUSBモードで実行されていることを確認しadb usbます。

$ adb usb
restarting in USB mode
$ adb devices
List of devices attached
ZX1D63HX9R  device


ステップ3。

次のコマンドを使用して、tcpipモードでadbを再起動します。

$ adb tcpip 5556
restarting in TCP mode port: 5556


ステップ4。

AndroidデバイスのIPアドレスを確認します。それにはいくつかの方法があります。

  • 方法:1 [設定]-> [電話/タブレットについて]-> [ステータス]-> [IPアドレス]に移動します。
  • 方法:2利用可能なWi-fiネットワークのリストに移動します。接続しているものをタップして、IPを確認します。
  • 方法:3お試しください$ adb shell netcfg

デバイスのIPアドレスがわかったので、adbホストをデバイスに接続します。

$ adb connect 192.168.0.102:5556
already connected to 192.168.0.102:5556
$ adb devices
List of devices attached
ZX1D63HX9R  device
192.168.0.102:5556  device


ステップ5。

USBケーブルを外すと、デバイスに接続されます。表示されない場合はadb devices、前のステップのコマンドを使用して再接続します。

$ adb connect 192.168.0.102:5556
connected to 192.168.0.102:5556
$ adb devices
List of devices attached
192.168.0.102:5556  device

今すぐ行ってもいいですか、それとも実行してadbサーバーを強制終了しadb kill-server、すべての手順をもう一度繰り返す必要があります。

お役に立てば幸いです。


参照:


さらに、Unixでこのスクリプトを使用してデバイスのIPを取得できます。adb shell ip -f inet addr show wlan0 | grep inet | echo -n $(grep -Eo '[0-9 \。\ /]')| echo -n $(grep -Eo '^ [^ \ /] *')| sed 's / // g'
ahsan.dev

@Eddyシステムとモバイル/タブレットの両方がWiFi経由で接続されているか、LAN経由で接続されているシステムと同じネットワークのWIFiルーターを使用して接続されているタブレットに疑いがある。明確にしてください
iSrinivasan27 2016

@ i-Droid両方が同じネットワークに接続する必要がある理由がわかりません。たぶんADBは特別なネットルーティングプロトコルを使用しています。私にはそれについての考えや深い研究はありません。あなたがそれに興味を持っているなら、それを明確にし、私と共有してください、ありがとう!
Eddy

6

これらは私が従ったステップであり、それは私のために働いた、

  1. adb shell ifconfig(ここからデバイスのIPアドレスを取得します)

  2. adb tcpip 7777(adbをあるポートに接続)

  3. adb connect "ipaddress":7777


5

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

plink -L 5037:localhost:5037 <host_IP_address>

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

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


4

他の答えは混乱します。adbWirelessを使用する方がはるかに簡単です。

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

スマートフォンにアプリをインストールして、WiFi経由でデバッグを切り替え、Eclipseプラグインをインストールすれば完了です。


どのEclipseプラグインを参照していますか?編集:気にしない。あなたの答えのリンクをたどることによってそれを見つけました。
ArtOfWarfare

ただし、これはルートにすぎません
Zoe

3

TCP経由でADBを自動的に有効にし、USB経由で接続されたデバイスに接続するためのバッチファイルをまとめました。これにより、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

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まで対応できます。


3

手順:

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

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

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

ありがとう


2

もう1つの注意事項(難しい方法を学びました):会社のVPN接続を同時にアクティブにしないでください...


2

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

  • まず、ADBを環境パスに追加します。
  • CLIから次のコマンドを入力します。adb connect YOUR_DEVICE_IP:PORT_NUMBER(example adb connect 192.168.100.100:5555

2

AndroidデバイスをADB over TCPに接続するには2つの方法がありますか?

最初の方法

この手順に従ってください

最初に以下のコマンドを使用して、デバイスのIPアドレスを取得します

adb shell ifconfig

上記のコマンドの出力

wlan0     Link encap:UNSPEC    Driver icnss
          inet addr:XXX.XXX.X.XX  Bcast:XXX.XXX.X.XXX

上記のコマンドを使用して、接続されたデバイスのIPアドレスを検索します

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

adb tcpip 5555

上記のコマンドは、このTCPポートを再起動します:5555

以下のコマンドを使用してデバイスを接続します

adb connect XXX.XXX.X.XXX:5555
            ^^^ ^^^ ^ ^^^
        IP Address of device

二番目の方法

Android Studioプラグインを使用できます Android device with ADB

Android WiFi ADB-IntelliJ / Android Studioプラグイン

IntelliJとAndroid Studioプラグインは、WiFi経由でAndroidデバイスをすばやく接続し、USBを接続せずにアプリケーションをインストール、実行、デバッグするために作成されました。ボタンを1つ押すだけで、USBケーブルを忘れる

詳細については、この記事を確認してください

Android Studio内でAndroidデバイスをWifiに接続する


2

私は同じ問題で構造化していますが、単純なハック adb reverse tcp:<PORT> tcp:<PORT>うまくました。これにより、システムはtcp要求を受け入れることができます。

読んでくれてありがとう


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で日常的にそれを行います。


1

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

LinuxシェルのAndroidデバイスでは、単純な「ifconfig」でIPアドレスを取得できませんでした。入力する必要がありました:

ifconfig eth0

-または-

netcfg

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

setprop service.adb.tcp.port -1

adbdを停止

adbdを開始する

次に、私のWin7ボックス(Eclipse 3.7.1を実行しているボックス)で。コマンドプロンプトを開いて

\ android-sdk \ platform-tools>

管理者として実行せずに。その後、私はやった

adb connect 12.345.678.90

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

adb tcpip 5555

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

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


1

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

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

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

接続されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.