1. ホーム
  2. android

[解決済み] Android Studio - Android Emulator Wifi接続でインターネットに接続しない場合

2022-04-22 20:08:06

質問

私はSOと他の場所でフローティング異なるソリューションを試して丸一日を無駄にしたアンドロイドエミュレータ上で無線LANを有効にするために言及したが、無駄に。 誰もが私が私のAndroidエミュレータ上でインターネットを有効にする方法を見つけ出すのを助けることができますか?

私はNexus 5X API 27を持っていて、ターゲットはAndroid 8.1 (Google Play)です。 とNexus 5 API Pで、ターゲットはAndroid 7.1.1です。

インターネットを有効にする方法がないと、エミュレータで仮想Wifiを提供する意味がないように思うのですが。

Mac OS HS 10.13.4でルーターにプロキシ無しで直接接続しています。

AVDを全て削除し、再インストールも試しました。オレオのAndroid 8.1で最新のPixel 2をインストールしたことも試してみました。

何もかもがうまくいかないようです。どなたかこの問題に直面し、解決策を見出した方はいらっしゃいますか?

何かお手伝いできることがあれば、とても助かります。

ありがとうございます。 ヴィクラム

更新:私はホットスポットの無線LANとして私の携帯電話を介してコンピュータを接続すると、エミュレータは無線LANを介してインターネットを持っていますが、私は自宅のルータに私のコンピュータを接続すると失敗します。

解決方法は?

TheBaj : これの問題点がわかって、修正しました。問題は、ルータ経由で接続しているとき、エミュレータのandroidwifiが設定を使用して、DNSをgoogle DNSである8.8.8.8以外のものに設定することです(androidwifiがインターネットアクセスを得るために必須の設定だと推測されます)。しかし、私のネットワーク設定でDNSを変更すると、あなたの依存関係を取得するgoogle-servicesプラグイン、特に1つは、からダウンロードされます。 jcenter() はダウンロードされないので、同期に失敗し、最終的にビルドに失敗します。

つまり、デフォルトのルーター設定の後、ネットワーク設定に google DNS (8.8.8.8) を設定することで、この部分によって jcenter() で、同期とビルドが成功します。

でエミュレータを起動します。 emulator @Nexus_5X_API_27 -dns-server 8.8.8.8 コマンドを実行すると、エミュレータの DNS に 8.8.8.8 を使用するようになり、エミュレータがインターネットに接続されます。

私はリアクトネイティブアプリに取り組んでいるので、私にとってアンドロイドスタジオは必要なく、異なるエミュレータを起動するためにbashrcを以下のように設定しました。

   function emunex5 {
    emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
 }

  function emunex6 {
    emulator @Nexus_6_API_27 -dns-server 8.8.8.8
  }

  function emupix {
    emulator @Pixel_XL_API_27 -dns-server 8.8.8.8
   }

つまり、あるターミナルから好きなエミュレータを起動し、別のターミナルでビルドを実行すると、起動したエミュレータ上で私のアプリが実行され、私のイカれたエミュレータはインターネットにアクセスできるのです :)

試してみてください。

ありがとうございました。 ヴィクラム