私のシナリオは次のとおりです。自宅から在宅勤務し、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
。他のポートに転送またはリッスンしようとすると、同じ応答が返されます。ルータログにセキュリティエラーが表示されないため、ポート転送が機能しているようです。
質問:
開始Android 4.3次のことができます:
adb
サーバーがすべてのインターフェイスでリッスンするようにします。次の2つのオプションがあります。adb
を再コンパイルします(Linux-x64マシンでコンパイルして、 here に入れます)-a
パラメーターを使用してadbサーバーを開始します:adb -a -P 5037 fork-server server&
adb
を使用して、追加のパラメーターを指定します。 adb -H <remote_Host> Shell
ポート転送により問題を解決できます。
私の状況では、別のネットワーク上にあるVMを使用する必要がありましたが、それを(Azure VM)に変更しました。 VMとローカルラップトップは両方ともWindows 10を実行しています。まず、ローカルマシンにUSBリダイレクターRDPエディションをインストールする必要があり(80ドルかかりますが、無料の代替手段がある場合があります)、次にAndroid VM上のUSBドライバーおよびVM上の niversal Adb Driver 。ロードできるようになりました Android Studioアプリ VMのAndroid Studioのプロジェクト、ラップトップのAndroidデバイスを接続し、デバイスでアプリをデバッグします。
おそらく、デバイス、ローカルマシンとリモートマシンが同じネットワークに属している場合、より簡単なソリューションがあります。デバイスにネットワーク経由で特定のIPがあり、好みのPORTを使用することにしたとしましょう。まあ、次の手順を実行できます。
デバイスが接続されているマシンで実行してください:
adb devices
adb tcpip PORT
リモートマシンで、「USBデバイスの検出」、「ネットワークターゲットの検出」、および「ポート転送」を無効にしてから実行する必要があります。
adb connect IP:PORT
リモートマシンでデバッグする準備ができました。
これが誰かを助けることを願っています...
よろしく