2

我似乎被很多人遇到的一个问题所困扰,当我运行我的 Android 模拟器时,它没有任何可用的互联网连接。如果我手动运行模拟器并传递“-dns-server 8.8.8.8”,它就可以正常工作。

emulator.exe -dns-server 8.8.8.8 -avd {NAME}

我想做的是在通过 Titanium Studio 启动模拟器时添加这个“-dns-server 8.8.8.8”作为自定义参数。我已经想出了如何在 Eclipse 中为 Android SDK 执行此操作,但不是通过 Titanium Studio,因为相同的选项不可用。

Titanium 似乎使用以下参数启动模拟器:

\tools\emulator.exe -avd titanium_15_HVGA -port 5560 -sdcard C:\Users\dhiggins\.titanium\titanium_15_HVGA.sdcard -logcat *:d,* -no-boot-anim -partition-size 128

附带说明一下,如果我将 NIC 设置为“自动获取”而不是使用静态地址,Android 模拟器似乎可以在互联网上正常工作。但是,我需要我的开发机器上的静态地址。

4

1 回答 1

3

我首先要诊断静态分配问题的根源。您的静态 IP 是否列出了相应的 DNS 服务器?自动获取时,DHCP 提供了几个参数,包括 DNS 服务器列表。

无论如何,更新启动 android 模拟器的命令是相当简单的,至少对于 Windows 平台是这样。我不得不认为 Apple 的移动 SDK 中有类似的东西。

找到移动 SDK 文件夹。在 Win 7 下是 C:\ProgramData\Titanium\mobilesdk。在移动 SDK 文件夹下打开 \android\builder.py 并找到以下内容(搜索 -avd 即可找到它):

    # start the emulator
    emulator_cmd = [
        self.sdk.get_emulator(),
        '-avd',
        avd_name,
        '-port',
        '5560',
        '-sdcard',
        self.sdcard,
        '-logcat',
        '*:d,*',
        '-no-boot-anim',
        '-partition-size',
        '128' # in between nexusone and droid
    ]
    debug(' '.join(emulator_cmd))

    p = subprocess.Popen(emulator_cmd)

编辑此部分并为您的自定义参数添加一行或多行。

祝你好运!

于 2011-10-28T13:01:04.237 回答