Androidデバイスからローカルホストにアクセスするにはどうすればいいですか? 質問する

Androidデバイスからローカルホストにアクセスするにはどうすればいいですか? 質問する

Android エミュレーターを使用してラップトップの Web サーバーにアクセスでき、10.0.2.2:portno問題なく動作しています。

しかし、実際の Android スマートフォンを接続すると、スマートフォンのブラウザはラップトップ上の同じ Web サーバーに接続できません。スマートフォンは USB ケーブルを使用してラップトップに接続されています。adb devices コマンドを実行すると、スマートフォンが表示されます。

何が足りないのでしょうか?

ベストアンサー1

USB はモバイル デバイスにネットワークを提供しません。

デスクトップと携帯電話の両方が同じ WiFi (またはその他のローカル ネットワーク) に接続されている場合は、ルーターによって割り当てられたデスクトップの IP アドレスを使用します ( や でlocalhostはありません127.0.0.1)。

デスクトップの IP アドレスを確認するには:

  • コマンドラインipconfig(Windows)またはifconfig(Unix) に入力する
    • Linuxではワンライナーはifconfig | grep "inet " | grep -v 127.0.0.1重要な部分だけを出力する
    • ありますたくさんの提案Windowsで同様の出力を得る方法について
  • たくさんのIPが存在します
  • すべて試してみてください(前述のlocalhostとを除く127.0.0.1

携帯電話がモバイルネットワークに接続されている場合、状況はさらに難しくなります。

ハードコアに行くか:

  • まずルーターの外部IPアドレスを調べます(https://www.google.de/search?q=myip
  • 次に、ルーターでポートを転送します<your desktop IP>:<server port number>
  • 最後に外部IPアドレスと転送ポートを使用する

それ以外の場合は、次のようにします退屈させる翻訳、 またはングロクこちらはngrok のオープンソース代替品のリスト。

注意: このifconfigコマンドは非推奨になっており、Debian Stretch 以降の Debian Linux ではデフォルトで使用できません。Debian Linux でネットワーク構成を調べるための新しい推奨代替手段は、ip コマンドです。たとえば、ip コマンドを使用してネットワーク構成を表示するには、次のコマンドを実行します。

ip address

上記の ip コマンドは次のように省略できます。

ip a

それでもifconfig日常のシステム管理ルーチンの一部として使用したい場合は、パッケージの一部として簡単にインストールできますnet-tools

apt-get install net-tools

参照はここ

おすすめ記事