【问题标题】:How to set Internet options for Android emulator?如何为 Android 模拟器设置 Internet 选项?
【发布时间】:2011-01-27 02:22:54
【问题描述】:

我一直在使用这种方法从我的 Android 模拟器访问互联网 模拟器-http-proxy <<proxy-name>> -avd <<avd_name>>

它有效,但这是最好的方法吗? 我需要从命令行打开模拟器而不能只从 Eclipse 或其他东西中打开模拟器,这感觉不对。

似乎也无法在“AVD Manager”上找到互联网选项。

【问题讨论】:

标签: android android-emulator


【解决方案1】:

您也可以尝试明确指定 DNS 服务器设置,这对我有用。

在 Eclipse 中:

窗口>首选项>Android>启动

默认模拟器选项:-dns-server 8.8.8.8,8.8.4.4

【讨论】:

  • 这解决了我的问题,即模拟器只能在某些 wifi 网络上上网而不是其他网络。 '模拟器 -avd adv_name -dns-server 8.8.8.8,8.8.4.4'
  • 这在 Visual Studio 中对我有用 => 选项 => Xamarin => Android 设置 => 其他模拟器启动参数
【解决方案2】:

默认情况下,您应该能够使用 F8(在 Windows 上)和 Fn + F8(在 Mac OS X 上)切换对您的模拟器的 Internet 访问 - 我认为 F8 也适用于 Linux,但我不是 100%当然。

使用此快捷方式,您可以调度 ACTION_BACKGROUND_DATA_SETTING_CHANGED

希望对您有所帮助。

【讨论】:

  • 当模拟器可以连接互联网时,F8很有帮助!
  • 这没有提供任何视觉或任何其他类型的反馈,但在重新启动模拟器后(实际上是重新创建虚拟设备),它可以访问互联网。
【解决方案3】:

为了记录,因为这是一个旧帖子并且没有人提到它,请检查您是否忘记(像我一样)将 AndroidManifest.xml 中的 android.permission.INTERNET 标志设置为,即:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.android.webviewdemo">
<uses-permission android:name="android.permission.INTERNET"/>
    <application android:icon="@drawable/icon">
        <activity android:name=".WebViewDemo" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest> 

【讨论】:

    【解决方案4】:

    -http-proxy 在eclipse中可以这样设置:

    1. 菜单窗口
    2. 子菜单首选项
    3. 在首选项对话框中 点击左侧的Android 单击启动 接近默认模拟器选项:输入 ur -http-proxy

    【讨论】:

      【解决方案5】:

      在通过 Android SDK 和 AVD 管理器在虚拟设备中创建 AVD 时添加 GSM 调制解调器支持...

      【讨论】:

        【解决方案6】:

        设置 DNS 对我有用。如果您使用的是 Eclipse 或 Netbeans 插件,则可以分别通过 Default Emulator options 或 Emulator Options 进行设置。如果从 CLI 启动模拟器,也可以从命令行使用 set it。在所有情况下,选项都是“-dns-server x.x.x.x,x.x.x.x”,不带引号。 ADB gui 中没有选项可以将该选项与您的虚拟设备永久关联。

        【讨论】:

          【解决方案7】:

          您好,我也遇到了同样的问题,使用以下步骤解决:

          原因1:

          在您的 android 应用程序中添加 Internet 权限

          原因2:

          手动检查您的默认应用程序是否能够访问互联网 如果不是模拟器的问题,请检查您电脑中的互联网连接

          尝试以下方法在您的电脑中连接网络

          尝试明确指定 DNS 服务器设置,这对我有用。

          在 Eclipse 中:

          窗口>首选项>Android>启动

          默认模拟器选项:-dns-server 8.8.8.8,8.8.4.4**

          原因3:

          检查:检查您是否使用多个互联网连接到您的电脑,例如一个是 LAN 第二个是调制解调器, 所以禁用所有局域网或调制解调器。

          【讨论】:

            【解决方案8】:

            删除现有的并重新创建模拟器。 机器(windows/mac)应该可以上网,安卓模拟器默认可以上网。

            【讨论】:

              【解决方案9】:

              如果有人在 AndroidManifest 中拥有 Internet 权限,但仍然存在 Internet 连接问题,那么这可能会有所帮助: Android - Fixing the no internet connection issue on emulator.

              我按照该网站的步骤进行操作,一切都对我有用。 最重要的:

              • 在模拟器上配置代理服务器
              • 模拟器使用的 DNS 不正确

              这是我的第一篇文章,所以我希望它会有所帮助。

              【讨论】:

                【解决方案10】:

                稍微不同的是,我必须制作一个不支持 GSM 调制解调器的虚拟设备,这样我的模拟器上的互联网才能正常工作。

                【讨论】:

                  【解决方案11】:

                  我已经看到了各种关于代码如何确定它是否在模拟器上运行的建议,但没有一个是完全令人满意的,或者说是“面向未来的”。目前我已经决定读取设备 ID,对于模拟器来说它是全零:

                  TelephonyManager telmgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); boolean isEmulator = "000000000000000".equals(telmgr.getDeviceId());

                  但在需要 READ_PHONE_STATE 权限的已部署应用上

                  【讨论】:

                    【解决方案12】:

                    您可以使用 AVD Manager 执行此操作,选择工具 -> 选项。将 HTTP 代理服务器设置为 8.8.8.8,8.8.4.4

                    模拟器将被连接。

                    【讨论】:

                    • 那是 Google 的 DNS 服务器,不是代理服务器。
                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2010-12-06
                    • 1970-01-01
                    • 2023-03-13
                    • 1970-01-01
                    • 1970-01-01
                    • 2013-02-27
                    • 1970-01-01
                    相关资源
                    最近更新 更多