Android联网失败报错:java.io.IOException: Cleartext HTTP traffic to xxx.xxx.xxx.xxx not permitted

为保证用户数据和设备的安全,Google针对 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nougat 和 Oreo 则不受影响。

报错信息如下:java.io.IOException: Cleartext HTTP traffic to xxx.xxx.xxx.xxx not permitted

W/System.err: java.io.IOException: Cleartext HTTP traffic to 192.168.43.207 not permitted
W/System.err:     at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:124)
W/System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:462)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:248)
        at com.example.withroadlogistics.until.HttpUtil$1.run(HttpUtil.java:37)
        at java.lang.Thread.run(Thread.java:929)
D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/OpenGLRenderer: disableOutlineDraw is true
W/System.err: org.json.JSONException: Value java.io.IOException of type java.lang.String cannot be converted to JSONObject
W/System.err:     at org.json.JSON.typeMismatch(JSON.java:112)
        at org.json.JSONObject.<init>(JSONObject.java:168)
        at org.json.JSONObject.<init>(JSONObject.java:181)
        at com.example.withroadlogistics.loginui.MainActivity$1.handleMessage(MainActivity.java:79)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:213)
W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:8147)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
W/libEGL: EGLNativeWindowType 0x7d65764910 disconnect failed

在Android P系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,同样地,如果应用嵌套了webview,webview也只能使用https请求。

对于这个问题我们只需在AndroidManifest.xml配置文件的<application>标签中直接插入

android:usesCleartextTraffic="true"

详情如下:

<application    
        ..................................
        android:usesCleartextTraffic="true"
        ..................................
</application>

添加如下配置即可正常联网

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HBase是一种分布式的非关系型数据库,它基于Hadoop的HDFS文件系统进行存储,并且提供了高可靠性、高扩展性和高性能的特性。当在使用HBase时,有时可能会遇到一些报错信息。 对于报错信息:java.io.IOException: could not locate executable null\bin\win,这是由于系统环境变量配置不正确导致的。在Windows系统中,HBase需要依赖一些可执行文件来执行不同的操作。然而,这个错误消息告诉我们系统找不到指定位置的可执行文件。 解决这个问题,我们可以按照以下步骤操作: 1. 首先,确认你已经正确安装了HBase并且设置好了系统环境变量。确保HBase的安装目录被正确添加到 PATH 环境变量中。 2. 确保在 HBase 的 conf 目录下,有一个名为 hbase-site.xml 的配置文件。在这个文件中,你需要设置 HBase 的主要配置属性,例如 HBase 的根目录。 3. 确认 Hadoop 的 bin 目录也被正确添加到 PATH 环境变量中。这是因为HBase依赖于Hadoop的一些可执行文件。 4. 确认 Hadoop 的配置文件也存在于其 conf 目录中,并且 Hadoop 的根目录也被正确设置。 5. 最后,尝试重新启动 HBase,看看是否仍然报错。 如果以上步骤都正确进行,并且环境配置也正确,你应该能够避免这个错误。如果问题仍然存在,请仔细检查上述步骤,并确保每一步都按照正确的方式进行操作。 希望以上解答能够帮助你解决HBase链接报错的问题。如果仍然有疑问,请提供更多的详细信息,以便我们能更准确地定位问题并给出进一步的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值