代码之家  ›  专栏  ›  技术社区  ›  Vikram Mahishi

安卓工作室-安卓仿真器WiFi,无互联网连接

  •  28
  • Vikram Mahishi  · 技术社区  · 8 年前

    我花了一整天的时间在so和其他提到的地方尝试不同的解决方案,以便在android模拟器上启用wifi,但没有效果。 有谁能帮我弄清楚如何在我的android模拟器上启用internet吗?

    我有nexus5xapi27,目标是android 8.1(google play) Nexus5API的目标是Android 7.1.1。

    我认为应该有一种方法可以在它上实现互联网,否则在模拟器上提供虚拟wifi的整个目的似乎是浪费。

    我在macoshs10.13.4上,没有代理直接连接到路由器。

    我甚至尝试删除所有的avd,重新安装它们。我甚至试过在Oreo Android 8.1上安装最新的Pixel2

    似乎什么都没用。有人面对这个问题并找到解决办法吗?

    任何帮助都会有很大帮助

    谢谢, 维克拉姆

    更新:当我通过手机将电脑连接成热点wifi时,仿真器通过wifi连接互联网,但当我将电脑连接到家庭路由器时失败。

    5 回复  |  直到 7 年前
        1
  •  58
  •   Raman Sahasi    6 年前

    以下是针对Windows和Mac的解决方案,但类似的解决方案适用于任何操作系统:

    1. 在Windows上

      • 正常开放 网络与共享中心 点击当前 连接
      • 点击 属性
      • 双击 Internet协议版本4(TCP/IPv4)
      • 将首选和备用DNS服务器设置为(以下屏幕截图):

        8.8.8.8
        8.8.4.4
        
    2. 在MAC上

      • 设置>网络>高级…>域名系统
      • 删除所有条目并添加这两个条目(下面的屏幕截图):

        8.8.8.8节
        8.8.4.4节
        

        注意:对于Mac用户,如果entries字段被禁用而您无法编辑它,请单击该窗口底部区域的“锁定”图标并输入密码以进行更改

    重新启动模拟器,它将解决:

    截图:

    1. 窗户

    Android emulator not connecting to internet solution on windows

    1. 雨衣

    Android emulator not connecting to internet solution on a mac


    编辑:当仿真器的wifi将dns更改为8.8.8.8以外的内容时,这是一个解决方案。 虽然这在大多数情况下都有效,但也可能有其他原因无法从该解决方案中修复。

        2
  •  25
  •   Vikram Mahishi    8 年前

    @蒂巴杰:我发现了这个问题并解决了。问题是当你通过路由器连接时,模拟器中的androidwifi使用这些设置,并将dns设置为8.8.8.8(即google dns)以外的内容(我认为这是androidwifi获得互联网访问的强制设置)。但是如果我在我的网络设置中更改dns,google服务插件将获取你的依赖项,特别是从 jcenter() 将不会被下载,因此同步将失败,最终导致生成失败。

    所以诀窍是在默认路由器设置之后在网络设置中配置google dns(8.8.8.8)-这部分负责从 jCenter() 同步和构建成功。

    现在启动模拟器 emulator @Nexus_5X_API_27 -dns-server 8.8.8.8 来自终端的命令,该命令强制仿真器使用8.8.8.8作为其DNS,仿真器将具有Internet。

    我正在开发一个react本地应用程序,所以对我来说android studio是不必要的,我已经配置了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
       }
    

    所以我从一个终端启动我选择的模拟器,然后在另一个终端上运行构建,这个终端在启动的模拟器上运行我的应用程序,而我的畸形模拟器可以访问互联网。:)

    试试这个,我希望能帮上忙。

    谢谢, 维克拉姆

        3
  •  4
  •   Juangui Jordán    7 年前

    我使用mac osx 10.13的解决方案

    我读到它是由于启用了LAN卡和WiFi而引起的,有些方法对我来说似乎很复杂,所以我只是尝试了一下,它成功了:

    • 在我的笔记本电脑上禁用了WiFi。
    • 关闭模拟器。
    • 在模拟器上进行了冷启动(avd manager->在模拟器操作上->立即冷启动)。
    • 重启后,禁用wifi,模拟器显示正确的wifi连接。然后我在笔记本电脑上启用了wifi,一切正常。
        4
  •  2
  •   Raman Sahasi    7 年前

    我已经解决了网络适配器上的google dns 8.8.8.8 8.8.4.4

    Android Emulator wifi connected with no internet solution for windows

        5
  •  1
  •   Hiren Patel    7 年前

    我是这样做的:

    添加手动代理的步骤:

    1. 仿真器设置
    2. 代理 标签
    3. 集合 手动代理配置
    4. 添加您的 主机名 和; 端口号
    5. 点击 应用

    参考屏幕截图:

    enter image description here

    希望有帮助。

        6
  •  1
  •   Hamid Shoja    7 年前

    在Windows上:

    在测试了一些解决方案后,我通过单击avd上的向下箭头,选择“Cold Boot Now”,找到了我的解决方案。 在启动后,android可以访问internet,所以对我很有用。

        7
  •  0
  •   M. Usman Khan    6 年前

    对我有用的是:

    • 关闭模拟器电源(使用其电源键)
    • 在另一个模拟器上启动应用程序,然后关闭它。
    • 现在再次在以前的模拟器中启动应用程序。