SDK 2.3 升级后,现在所有的模拟器都无法连接。

25

我已经从2.2升级到了2.3。最初,我认为只是我的Google地图应用程序出了问题并发布了一个问题链接文本

现在我意识到这个问题更加广泛,即创建新AVD时出现的内置应用程序都无法工作。例如,“地图”应用程序会显示“网络错误 - 此应用程序需要正常的数据连接”。 浏览器无法连接到Google或其他任何东西。这种情况发生在升级之前存在的AVD和在升级后从命令行创建的所有API级别的AVD上。我认为我拥有所有必要的组件:alt text

我试图通过将其与Eclipse和我编写的应用程序的任何引用分离来以最简单的方式描述此问题。设置为筛选所有错误的新创建的AVD的logcat非常长,但我正在发布我认为可能相关的内容:

12-07 12:05:42.048: ERROR/System(61): Failure starting core service
12-07 12:05:42.048: ERROR/System(61): java.lang.SecurityException
12-07 12:05:42.048: ERROR/System(61):     at android.os.BinderProxy.transact(Native Method)
12-07 12:05:42.048: ERROR/System(61):     at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)
12-07 12:05:42.048: ERROR/System(61):     at android.os.ServiceManager.addService(ServiceManager.java:72)
12-07 12:05:42.048: ERROR/System(61):     at com.android.server.ServerThread.run(SystemServer.java:206)
12-07 12:07:22.553: ERROR/CheckinTask(382): Checkin failed: https://android.clients.google.com/checkin (request #0)
12-07 12:07:22.553: ERROR/CheckinTask(382): java.net.UnknownHostException: android.clients.google.com
12-07 12:07:22.553: ERROR/CheckinTask(382):     at java.net.InetAddress.lookupHostByName(InetAddress.java:506)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at java.net.InetAddress.getAllByName(InetAddress.java:256)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at android.net.http.AndroidHttpClient.execute(AndroidHttpClient.java:248)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.executeWithoutRewriting(GoogleHttpClient.java:203)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.execute(GoogleHttpClient.java:245)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.execute(GoogleHttpClient.java:313)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinTask.sendRequest(CheckinTask.java:254)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinTask.doInBackground(CheckinTask.java:150)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinService$1.doInBackground(CheckinService.java:221)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinService$1.doInBackground(CheckinService.java:214)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
12-07 12:07:22.553: ERROR/CheckinTask(382):     at java.lang.Thread.run(Thread.java:1019)
12-07 12:08:43.802: ERROR/CheckinTask(382): Checkin failed: https://android.clients.google.com/checkin (request #0)
12-07 12:08:43.802: ERROR/CheckinTask(382): java.net.UnknownHostException: android.clients.google.com
12-07 12:08:43.802: ERROR/CheckinTask(382):     at java.net.InetAddress.lookupHostByName(InetAddress.java:506)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at java.net.InetAddress.getAllByName(InetAddress.java:256)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at android.net.http.AndroidHttpClient.execute(AndroidHttpClient.java:248)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.executeWithoutRewriting(GoogleHttpClient.java:203)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.execute(GoogleHttpClient.java:245)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.execute(GoogleHttpClient.java:313)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinTask.sendRequest(CheckinTask.java:254)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinTask.doInBackground(CheckinTask.java:150)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinService$1.doInBackground(CheckinService.java:221)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinService$1.doInBackground(CheckinService.java:214)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
12-07 12:08:43.802: ERROR/CheckinTask(382):     at java.lang.Thread.run(Thread.java:1019)
12-07 12:10:10.643: ERROR/CheckinTask(382): Checkin failed: https://android.clients.google.com/checkin (request #0)
12-07 12:10:10.643: ERROR/CheckinTask(382): java.net.UnknownHostException: android.clients.google.com
12-07 12:10:10.643: ERROR/CheckinTask(382):     at java.net.InetAddress.lookupHostByName(InetAddress.java:506)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at java.net.InetAddress.getAllByName(InetAddress.java:256)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at android.net.http.AndroidHttpClient.execute(AndroidHttpClient.java:248)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.executeWithoutRewriting(GoogleHttpClient.java:203)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.execute(GoogleHttpClient.java:245)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.execute(GoogleHttpClient.java:313)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinTask.sendRequest(CheckinTask.java:254)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinTask.doInBackground(CheckinTask.java:150)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinService$1.doInBackground(CheckinService.java:221)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinService$1.doInBackground(CheckinService.java:214)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
12-07 12:10:10.643: ERROR/CheckinTask(382):     at java.lang.Thread.run(Thread.java:1019)
12-07 12:11:41.652: ERROR/CheckinTask(382): Checkin failed: https://android.clients.google.com/checkin (request #0)
12-07 12:11:41.652: ERROR/CheckinTask(382): java.net.UnknownHostException: android.clients.google.com
12-07 12:11:41.652: ERROR/CheckinTask(382):     at java.net.InetAddress.lookupHostByName(InetAddress.java:506)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at java.net.InetAddress.getAllByName(InetAddress.java:256)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at android.net.http.AndroidHttpClient.execute(AndroidHttpClient.java:248)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.executeWithoutRewriting(GoogleHttpClient.java:203)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.execute(GoogleHttpClient.java:245)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at com.google.android.common.http.GoogleHttpClient.execute(GoogleHttpClient.java:313)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinTask.sendRequest(CheckinTask.java:254)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinTask.doInBackground(CheckinTask.java:150)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinService$1.doInBackground(CheckinService.java:221)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at com.google.android.gsf.checkin.CheckinService$1.doInBackground(CheckinService.java:214)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
12-07 12:11:41.652: ERROR/CheckinTask(382):     at java.lang.Thread.run(Thread.java:1019)

我正在使用Vista 64位操作系统,JDK和Eclipse是32位的(在遵循从SDK 0.0到2.2的指导时没有出现问题)。我注意到在另一篇帖子中,需要将...platform-tools添加到PATH中。我在发布说明中找不到任何相关内容,但我仍然这样做了。

现在完全卡住了,请问有人能建议一下可能的问题吗?

更新:格林威治标准时间1540

关闭Norton Internet Security

删除sdk文件夹,安装启动包和所有API级别。

删除c:\users\nick.android(摆脱所有AVD)

从SDK Manager中重新创建一个AVD(带有Google地图的9级别),并启动它。

最终结果-仍旧存在相同的错误,浏览器无法连接,内置地图应用程序也无法连接。

更新:格林威治标准时间1920

我有一个较老的SDK保存在记忆棒上。 我将其复制到临时目录中。

alt text

我没有更改PATH,但是在此临时文件夹中单击SDK Manager并启动现有的API级别7 AVD。 浏览器和内置地图应用程序都可以正常工作。

提交了bug报告link text

更新:格林威治标准时间12月9日1325

我成功回滚到SDK 2.1,并找到一个旧的ADT插件(0.9.9)。 我已经设置了Eclipse 3.5以使用SDK 2.1,而Eclipse 3.6则使用SDK 2.3。(我知道不建议使用3.6,但它可以与SDK 2.1一起正常工作,尽管代码补全很慢)。 SDK 2.3仿真器仍无法连接。

如果您正在考虑调查此问题,请备份早期的SDK和插件,否则您可能会得到一个无用的开发环境。

在2.3中全新创建的AVD显示:

12-09 13:09:08.823: ERROR/ActivityThread(213): Failed to find provider info for com.google.settings

12-09 13:09:30.193: ERROR/browser(213): onReceivedError -2 http://www.google.com/m?client=ms-android-google&source=android-home The URL could not be found.

当您启动浏览器时


你还有同样的问题吗?你找到解决方法了吗?因为我在使用Windows XP SP3,也遇到了同样的问题。我的所有AVD都无法连接到互联网。 - Michael B.
1
@NickT:你最新的更新真的很令人震惊。你可以考虑在Android项目问题跟踪器上提交一个问题。 - Octavian Helm
不确定所有可用的shell命令是什么,但netstat会给出以下内容: netstat Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:5037 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN tcp 0 0 10.0.2.15:5555 10.0.2.2:57931 ESTABLISHED - NickT
ifconfig 不返回任何内容。 - NickT
向谷歌提交了13031号错误报告。 - NickT
显示剩余6条评论
5个回答

46

我为那些遇到这个问题的人找到了一个临时解决方案。

您可以使用以下命令在CMD提示符下启动AVD:

Windows

C:\program files\android\android-sdk-windows\tools\emulator -avd <avdname> -dns-server 8.8.8.8

Mac cd ~/Library/Android/sdk/emulator ./emulator -avd <avdname> -dns-server 8.8.8.8

8.8.8.8 是 Google 公共 DNS。

问题似乎是模拟器无法找到计算机当前正在使用的 DNS。


到目前为止,这看起来像是一个成功的解决方案!浏览器已连接。不知道为什么SDK2.2没有反对,但做得很好! - NickT
@NickT,我尝试将这些设置添加到Eclipse插件中,但似乎不起作用。 - Michael B.
1
如果您在运行配置中逐个项目地执行它,似乎可以正常工作。 - NickT
1
它似乎不喜欢设置为“自动获取DNS”的系统。我将其更改为手动设置为诺顿的公共DNS,仿真器浏览器立即起作用。 - NickT
请问有人可以告诉我如何做到这一点吗?因为这个命令对我不起作用。 - user1699548
现在出现了一个 Bug 吗?我们真的必须通过命令行来完成吗? - mcfly soft

6
解决方案是:将开发机器上的 DNS 服务器更改为固定的,例如 8.8.8.8。

4
@Tobias,请提及或至少提供一些有用的链接,介绍如何更改DNS服务器。 - Shirish Herwade

3

如果您在代理服务器后面,想要在模拟器上使用互联网,请按照以下步骤进行操作:

进入设置->无线和网络->移动网络->访问点名称。

按下菜单按钮。将出现一个选项菜单。

从选项菜单中选择新的APN。

点击名称。为APN提供名称,例如“我的APN”。

点击APN。输入www。

完成以上操作后,检查互联网连接。


0
对于那些使用bash命令行界面的人来说,请尝试以下操作:
/C/Users/<your.user>/AppData/Local/Android/Sdk/emulator/emulator -avd Virtual_Machine -dns-server 8.8.8.8

0

对我来说这个解决方案很好:

1.进入sdk路径: cd C:\SDK\emulator (例如)

2.获取设备: emulator -list-avds
ARMOR_X7_PRO_API_29(例如)

3.设置DNS: emulator -avd ARMOR_X7_PRO_API_29 -dns-server 8.8.8.8 (例如)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接