关于vue+capacitor打包android后无法访问http问题的总结

一、背景

        最近公司框架升级改造,之前的ionic+cordova+angluar的app框架舍弃不用,换成vue+ionic+capacitor框架。

二、遇到问题

         首先按照ionic官网的教程,用命令行生成vue+ionic框架,但根目录下并没有生成vue.config.js文件,按照之前的习惯,手动创建vue.config.js文件,并设置请求代理,如下图所示:

        在浏览器测试一切正常,很顺利的访问到了后台,但打包成android项目在手机上运行后,问题出现了,http请求似乎是被拦截了,后台根本不进断点,一开始考虑是跨域的问题,但后台代码已经做了跨域设置,就算不适用vue代理,也应该能正常访问。后来决定不使用代理,直接访问,发现也不行。

        后来考虑是ionic项目,发现项目根目录下有个ionic.config.json文件,经过查阅官方文档发现里面有介绍到在ionic.config.json文件中也可以设置代理,如下图所示:

         经过运行发现,此代理似乎并没有起什么作用,之后又看到网上有人说可以在capacitor.config.json中加入一个属性,如下图所示:

         依然不行,至此,项目陷入了僵局。

三、解决问题

         最后经过不屑的查找,终于找到了问题解决方案,需要在AndroidManifest.xml文件中加上一个属性,如下图:

        经查阅了解到Android 29版本之后的手机默认拒绝应用程序使用明文流量的请求,所以要么可以把请求改为https,要么可以在AndroidManifest.xml文件中加入

android:usesCleartextTraffic="true"

四、结论

        经过这个问题的解决,发现vue.config.js文件中设置的代理,虽然在浏览器中起作用,但打包成apk后便失去了作用

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西山水壶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值