打包发布cordova应用
常见问题
- 问题:Cordova 在 Android 7 设备上可以正常运行访问后台服务器,但是在Android 9设备不能正常访问后台服务器。在我的 捕获异常 中会发现
network error
。
原因:首先了解一下什么是android:usesCleartextTraffic
, 这是一个关于是否允许Android设备进行明文访问的属性。位于AndroidManifest.xml - applicaiton
。此属性定义了应用是否打算使用明文网络流量,如明文 HTTP。对于目标 API 级别为 27 或更低级别的应用,默认值为 “true”。对于目标 API 级别为 28 或更高级别的应用,默认值为 “false”。
解决方案:我查询了一下自己的两台Android测试机器的Android版本,一台是Android 7一台是 Android 9, API level 分别是 24 和 28, 所以在 Android 7机器上面,我的请求可以正常访问; 在 Android 9的机器上面,请求就被禁止了。