unity 安卓端调试,WWW 类 无法访问IIS 服务器文件服务器java.io.IOException: Cleartext HTTP traffic to 192.168.1.67not per

51 篇文章 1 订阅

 问题描述:电脑端发布前  WWW  没有问题,有数组返回。发布安卓后www  不会返回byte 数据。且用手机直接访问 站点,可以访问下载。

 

1安卓端调试方法:

当我们在开发的时候,我们可以方便的用Debug来调试程序,可是,有些问题恰巧出现在真机测试的时候,网上已经有了很多教程,可总是不完整,故在此写一个完整版,供大家参考。

手机设置

使用USB连接电脑,打开开发者模式,打开USB调试,允许调试

电脑设置

找到安卓SDK所在目录,找到tools这个文件夹

打开monitor.bat(如果没有的话,参考https://blog.csdn.net/u014230923/article/details/51615746),然后会自动打开这个窗口箭头所指即为我们的手机,注意,如果未能正常显示手机型号 Online 系统版本者三要素,说明手机和电脑并没有建立连接,请自行解决。

然后我们发现输出信息太多,所以我们需要过滤器

之后,我们点击我们手机,然后点我们创建的过滤器,就能看到我们想要的Debug输出了(如果没有的话,重新连接手机即可)

2 调试后 报错如下

 

 最新的Android P 即Android 10.0 ,API 29 。

 错误  java.io.IOException: Cleartext HTTP traffic to 192.168.1.67 not permitted

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

因此在Android P 使用HttpUrlConnection进行http请求会出现以下异常

W/System.err: java.io.IOException: Cleartext HTTP traffic to **** not permitted
使用OKHttp请求则出现

java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security policy

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

针对这个问题,有以下四种解决方法,直接看第四种,简单方便,我就是用第四种解决的:

(1)APP改用https请求  (修改后提示访问证书问题,www 类任然无法访问)

(2)targetSdkVersion 降到27以下   

(3)更改网络安全配置

1.在res文件夹下创建一个xml文件夹,然后创建一个network_security_config.xml文件,文件内容如下: <?xml version="1.0" encoding="utf-8"?> 

2.接着,在AndroidManifest.xml文件下的application标签增加以下属性: 完成,这个时候App就可以访问网络了。

(4)在AndroidManifest.xml配置文件的标签中直接插入 【推荐】

android:usesCleartextTraffic="true"

 

使用第四种方法发布后解决问题

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值