我一直在使用此方法从我的Android模拟器访问互联网
模拟器-http-proxy <<proxy-name>> -avd <<avd_name>>
它有效,但这是最好的方法吗? 我只是觉得我需要从命令行打开模拟器,而不能只是从Eclipse或其它东西那样做。
似乎无法在“AVD Manager”上找到互联网选项。
答案 0 :(得分:58)
您也可以尝试明确指定DNS服务器设置,这对我有用。
在Eclipse中:
窗口&GT;设定&GT; Android和gt;启动
默认模拟器选项:-dns-server 8.8.8.8,8.8.4.4
答案 1 :(得分:23)
默认情况下,您应该可以使用F8(在Windows上)和Fn + F8(在Mac OS X上)切换到模拟器的Internet访问 - 我认为F8也适用于Linux,但我不是100%肯定的。
使用此快捷方式,您可以获得ACTION_BACKGROUND_DATA_SETTING_CHANGED 已发送。
希望有所帮助。
答案 2 :(得分:7)
对于记录,因为这是一个旧帖子,因为没有人提到它,检查你是否忘记(如我所做)在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>
答案 3 :(得分:5)
-http-proxy可以用eclipse这样设置:
答案 4 :(得分:4)
在Android SDK和AVD Manager的虚拟设备中创建AVD时添加GSM调制解调器支持...
答案 5 :(得分:3)
正在设置DNS为我做了诀窍。如果您使用的是Eclipse或Netbeans插件,则可以分别通过Default Emulator选项或Emulator Options进行设置。如果从CLI启动模拟器,也可以使用命令行设置它。在所有情况下,选项都是“-dns-server x.x.x.x,x.x.x.x”,不带引号。 ADB gui中没有选项可永久地将该选项与您的虚拟设备关联。
答案 6 :(得分:3)
嗨,我也面临同样的问题,使用以下步骤解决:
在Android应用程序中添加互联网权限
手动检查您的默认应用程序是否可以访问互联网 如果不是您的模拟器的问题,请检查您的电脑中的互联网连接
尝试以下方法在您的电脑上连接网
尝试明确指定DNS服务器设置,这对我有用。
在Eclipse中:
窗口&GT;设定&GT; Android和gt;启动
默认模拟器选项:-dns-server 8.8.8.8,8.8.4.4 **
检查:检查你是否使用多个互联网连接到你的电脑,就像一个是LAN第二个是调制解调器, 所以禁用所有局域网或调制解调器。
答案 7 :(得分:1)
删除现有的并重新创建模拟器。 机器(windows / mac)应该具有互联网访问权限,并且android模拟器默认可以访问互联网。
答案 8 :(得分:1)
如果某人在AndroidManifest中拥有互联网权限但仍然存在Internet连接问题,那么这可能会有所帮助: Android - Fixing the no internet connection issue on emulator.
我按照该网站上的步骤操作,一切都适合我。 最重要的是:
这是我的第一篇文章,所以我希望它会有所帮助。
答案 9 :(得分:0)
稍微不同的是,我不得不制作一个虚拟设备没有GSM调制解调器支持,以便我的模拟器上的互联网能够正常工作。
答案 10 :(得分:0)
我已经看到了各种建议,代码可以看出它是否在模拟器上运行,但没有一个是完全令人满意的,或者是未来的&#34;。目前我已经决定阅读设备ID,这对于模拟器来说都是零:
TelephonyManager telmgr =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); boolean isEmulator =&#34; 000000000000000&#34; .equals(telmgr.getDeviceId());
但是在需要READ_PHONE_STATE权限的已部署应用
上答案 11 :(得分:-2)
您可以使用AVD Manager执行此操作,选择工具 - &gt;选项。将HTTP代理服务器设置为8.8.8.8,8.8.4.4
将连接仿真器。