web-dev-qa-db-ja.com

リモートマシン開発およびローカルデバイス展開用にADBをセットアップする方法

私のシナリオは次のとおりです。自宅から在宅勤務し、Windowsリモートデスクトップ経由で仕事用マシンにログインします。 Android職場のコンピューター上のアプリの開発環境としてEclipseを使用しています。

ADBを使用して、エミュレーターがアプリの正義を行わないシナリオのために、仕事用コンピューターからホームネットワーク上のデバイスにアプリを展開できるようにしたいと思います。

ローカルデバイスに展開するのではなく、ローカルPCで実行されているエミュレーターに展開することを除いて、非常に似たシナリオを説明するこの投稿を見つけました。

http://www.41post.com/5003/programming/Android-adb-remote-emulator-access

同じ手順を実行しようとしていますが、自宅のWiFiネットワーク上のローカルデバイスをターゲットにし、ローカルエミュレーターではなくローカルホームPCに接続する方法を見つけます。

現時点では、ポート5585でパブリックルーターIPに接続するようにリモートPCをセットアップしていますが、ルーターでは、ローカルデバイスに接続するためにこれをどのIP /ポートに転送しますか?

エミュレーターを使用した例では、エミュレーターが実行されているローカルPCアドレスとポート5555に転送され、ローカルPC上でadbが実行されていません。 WiFi上のデバイスと、デバイスが接続されているローカルPC IPを使用して、デバイスIPに転送するようにルーターを構成しました。

ただし、どちらのシナリオでも、adb connect <routerIP>:5585私のリモートPCでは、エラーが発生しますunable to connect to <routerIP>:5585:5585。他のポートに転送またはリッスンしようとすると、同じ応答が返されます。ルータログにセキュリティエラーが表示されないため、ポート転送が機能しているようです。

質問:

  • ローカルネットワークでポート転送を設定してリモートadbインスタンスを使用してローカルデバイスに接続する場合、どのローカルIP /ポート番号を転送する必要がありますか?
  • デバイスが接続されているローカルPC IPまたはローカルデバイスIPをターゲットにする必要がありますか?
  • ローカルデバイスのIPをターゲットにした場合、どのポート番号に転送する必要がありますか?
  • ローカルPCでadbを実行する必要がありますか?
36
Sean Barbeau

開始Android 4.3次のことができます:

  1. adbサーバーがすべてのインターフェイスでリッスンするようにします。次の2つのオプションがあります。
    • gListen = 1 を作成し、adbを再コンパイルします(Linux-x64マシンでコンパイルして、 here に入れます)
    • -aパラメーターを使用してadbサーバーを開始します:adb -a -P 5037 fork-server server&
  2. リモートマシンでadbを使用して、追加のパラメーターを指定します。 adb -H <remote_Host> Shell
22
Roman Saveljev

ポート転送により問題を解決できます。

  • ChromeアプリストアからSecure Shellアプリをダウンロードする
  • マシンに接続します(ステップバイステップのセットアップ)
  • この接続では、adbサーバーを無効にします:adb kill-server
  • 新しいポート転送接続を作成します(通常の接続と同じですが、SSH Argumentsフィールドを-N -R 5037:localhost:5037に設定します)
  • ラップトップでターミナルを開き、adbサーバーを有効にします:adb start-server
4

私の状況では、別のネットワーク上にあるVMを使用する必要がありましたが、それを(Azure VM)に変更しました。 VMとローカルラップトップは両方ともWindows 10を実行しています。まず、ローカルマシンにUSBリダイレクターRDPエディションをインストールする必要があり(80ドルかかりますが、無料の代替手段がある場合があります)、次にAndroid VM上のUSBドライバーおよびVM上の niversal Adb Driver 。ロードできるようになりました Android St​​udioアプリ VMのAndroid St​​udioのプロジェクト、ラップトップのAndroidデバイスを接続し、デバイスでアプリをデバッグします。

1
Bugmonster

おそらく、デバイス、ローカルマシンとリモートマシンが同じネットワークに属している場合、より簡単なソリューションがあります。デバイスにネットワーク経由で特定のIPがあり、好みのPORTを使用することにしたとしましょう。まあ、次の手順を実行できます。

デバイスが接続されているマシンで実行してください:

adb devices

adb tcpip PORT

リモートマシンで、「USBデバイスの検出」、「ネットワークターゲットの検出」、および「ポート転送」を無効にしてから実行する必要があります。

adb connect IP:PORT

リモートマシンでデバッグする準備ができました。

これが誰かを助けることを願っています...

よろしく

0
Pakkes