cordova 请求http接口或socket失败

当前环境

targetSdkVersion: 28
vue: 2.6.11
cordova-android: 8.1.0

问题

最近将webApp打包成android APP之后发现无法HTTP通信,但是通过访问浏览器ip,是可以HTTP通信的!
如图通过vconsole插件可以看到HTTP接口没有返回!
在这里插入图片描述

出现问题的原因

问题出现的原因是因为Android高版本(Android 6.0)以上默认使用TLS保护用户信息,在Android高版本对非加密的明文传输有要求,也即默认启用了TLS保护,使得该应用无法进行http网络请求,而https则不会受影响,同样地,如果应用嵌套了webview也会受这限制。

解决方法

  1. 最快捷的方式: 在config.xml中添加
    <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
           <activity android:usesCleartextTraffic="true" />
    </edit-config>
    

这样Cordova build的时候就会

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值