java.net.UnknownHostException(无法解析主机“play.googleapis.com”:没有与主机名关联的地址)

Posted

技术标签:

【中文标题】java.net.UnknownHostException(无法解析主机“play.googleapis.com”:没有与主机名关联的地址)【英文标题】:java.net.UnknownHostException(Unable to resolve host "play.googleapis.com": No address associated with hostname) 【发布时间】:2013-09-07 05:55:23 【问题描述】:

完整的错误信息如下所示。在使用 Urban Airship 和 Google Cloud Messaging 的模拟器中运行应用程序时会发生这种情况。我在设备上看不到它。

java.net.UnknownHostException(Unable to resolve host "play.googleapis.com": No address associated with hostname)

顺便说一句,UA 伙计们,你们如何关闭 UA?注释掉 UA.takeoff() 会导致空点异常!好样的!这就是结束 *** 的一种方式!

【问题讨论】:

你能发布你的代码吗?没有看到您的代码,似乎无法访问主机,您使用的是“play.googleapis.com”还是只是“play.googleapis.com”? 你在其他地方的模拟器中是否有互联网连接?不可能是解析器没有获得正确的 dns 或 nat 不起作用。 该应用声明为允许互联网连接,它在设备上运行良好,但在模拟器中无法运行。 我遇到了同样的问题,后来才知道“该特定域的 DNS 存在一些问题。” 【参考方案1】:

UnknownHostException 的最常见原因是缺少 Internet 权限。 检查您的 androidManifest.xml 是否有 <uses-permission android:name="android.permission.INTERNET"></uses-permission>

更新: 后来的评论说,允许互联网连接并且它可以在设备上运行。所以是模拟器问题。可能的解决方案:

使用 IP 代替主机名(用于测试) 重新创建 AVD 根据 AVD sdk 版本检查 min-SDK 设置

【讨论】:

【参考方案2】:

关闭模拟器的 Wifi,然后重新打开通常可以修复此类错误。

【讨论】:

很遗憾地说这在 2021 年 12 月对我有用。【参考方案3】:

您使用的是具有 Google 图像还是仅具有股票 android 图像的模拟器?如果是这样,您需要在使用 GCM 之前更改为使用 google API 的版本,因为 google 映像包含 GCM 运行的 playstore API(解释简单,但就足够了。

为模拟器创建图像时,请选择基于谷歌 API 的图像,例如:

【讨论】:

以上是关于java.net.UnknownHostException(无法解析主机“play.googleapis.com”:没有与主机名关联的地址)的主要内容,如果未能解决你的问题,请参考以下文章