我已经将Vue
应用程序封装到Cordova容器中,并通过Android Studio部署在Android上。发送到我的服务器的每个请求都会失败,并显示消息Error: Network Error
。
这不是浏览器或iOs中的问题。
我研究过这个问题,并尝试过各种解决方案:
-
我已经安装了
cordova-plugin-whitelist
插件,并按照文档中的描述进行了配置 -
我在
AndroidManifest.xml
文件中设置了权限:
<edit-file mode="merge" parent="/manifest/uses-permission" target="AndroidManifest.xml">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</edit-file>
- 我在meta中设置了一个
"Content-Security-Policy"
标签:
<meta data-n-head="1" http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval'; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src *; style-src * 'unsafe-inline';">
我已经将我的服务器地址从
localhost:3000
更改为我的服务器的IP地址,如下所示:axios和android模拟器的网络错误-我还试图通过本地隧道运行它,以获得";真实的";API URL-相同问题按照上面线程中的指示,我还添加了标题:
"Content-Type": "application/x-www-form-urlencoded",
Accept: "application/json"
仍然是Error: Network Error
。我几乎可以肯定这与权限有关,但我没有什么可以配置的了。
我正在Android 10.0+设备上使用Cordova 10进行测试。
Axios于0.20.0发布。
我找到了解决问题的方法。看起来Android默认情况下不允许对http的请求,正如本线程中所述:互联网权限在oreo和pie 中不起作用
将localtunnel更改为https
为我解决了这个问题。