【问题标题】:Volley Error : No address associated with hostname ( wrong hostname ) [ Checked a lot on Stackoverflow]Volley 错误:没有与主机名关联的地址(错误的主机名)[在 Stackoverflow 上检查了很多]
【发布时间】:2021-10-08 22:38:37
【问题描述】:

我有一个功能齐全的应用程序,可以正常工作并且没有问题。今天,我将该应用程序作为演示应用程序发送给我的一个客户,客户发送了应用程序无法运行的屏幕截图,他曾尝试在多个设备上打开应用程序并遇到相同的错误,但奇怪的是同一个应用程序可以正常运行我的所有设备都没有任何问题。

错误:“com.android.volley.NOConnectionError: java.net.UnknownHostException/;无法解析主机“urlpath”:否 与主机名关联的地址"

在错误中它不包括像 eample.com 这样的主机名,但包括我使用的进一步路径,就像我使用 https://example.com/urlpath 一样,所以它显示“urlpath”。

这是我已经与客户确认过的内容:

  1. 他没有使用任何 VPN。
  2. 尝试使用移动数据和 WiFi 连接。
  3. 尝试在多个设备上打开应用。
  4. 设备未处于飞行模式。
  5. 浏览器上的直接网址正在他的设备中打开。
  6. 我的网站是 SSL 安全的,即便如此,我还是在应用中启用了 http 流量。

由于我的任何设备都没有出现错误,因此我没有任何错误日志。帮我解决问题,如果需要任何进一步的信息,请告诉我。

【问题讨论】:

  • 无法解析主机应该是 DNS 名称,而不是路径。也许您以某种方式动态构建 URL,其配置在他们的手机上不起作用?检查您是否正确设置了协议。

标签: java android android-studio android-volley


【解决方案1】:

如果您运行的是 Android P 及更高版本的应用。在您的应用中进行以下更改

将此添加到 manifest.xml:

android:networkSecurityConfig="@xml/network_security_config"

创建@xml/network_security_config.xml - 文件

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">example.com</domain>
    </domain-config>
</network-security-config>

https://developer.android.com/training/articles/security-config

【讨论】:

  • 我不知道是什么问题,但更改 API 的托管解决了问题
【解决方案2】:

我猜这是网络错误,你是否允许你的应用上网?

【讨论】:

  • 是的,我有 Internet Permisson。正如我所说,应用程序在我的设备中完美运行。但不在我客户的任何设备中。
猜你喜欢
  • 2021-01-20
  • 1970-01-01
  • 2022-10-04
  • 1970-01-01
  • 1970-01-01
  • 2016-11-02
  • 2023-03-05
  • 2021-04-19
  • 2017-12-04
相关资源
最近更新 更多