当前环境
:
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也会受这限制。
解决方法
- 最快捷的方式: 在config.xml中添加
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application"> <activity android:usesCleartextTraffic="true" /> </edit-config>
这样Cordova build的时候就会