Cordova 12 Android 不支持 http 原因探索

最近在升级 Cordova 到最新版本,升级完成后发现无法请求网络,研究了两次最终发现解决方案。

发现控制台中有日志输出,提示当前是 https ,无法直接访问 http。

复制代码
[INFO:CONSOLE(225)] "Mixed Content: The page at 'https://localhost/index.html' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http:// ....'. This request has been blocked; the content must be served over HTTPS.", source: webpack:///./node_modules/@sentry/browser/esm/integrations/trycatch.js? (225)

开始去查找 config.xml 文件,此时花费了比较多的实际无果。然后就去查代码,在 Android 中查到源码。

从代码可以看出从配置项中获取配置,如果没有就默认为 https。这样解决方案就简单了,直接给一个配置项就可以了。

复制代码
<platform name="android">
        <preference name="Scheme" value="http"/>
</platform>

不得不感慨,Cordova 的资料越来越少了,自己看源码可能还快一些~

相关推荐
修行者对66644 分钟前
安卓阿里云镜像
android
刮风那天1 小时前
Android AMS创建进程不用Binder而用Socket?
android·java·binder
知行合一。。。3 小时前
Python--05--面向对象(继承,多态)
android·开发语言·python
张小潇4 小时前
AOSP15 WMS/AMS系统开发 -窗口动画源码分析
android
程序员陆业聪6 小时前
Shadow核心原理:壳子Activity与代理机制的精妙设计
android
plainGeekDev6 小时前
Android 开发者再不转Kotlin,真的来不及了
android·kotlin
赏金术士6 小时前
第五章:数据层—网络请求与Repository
android·kotlin·compose
初雪云7 小时前
让安卓发版再简单一点,体验一键自动化发布
android·运维·自动化
jushi89997 小时前
抖音APP抖音助手增强版 内置逗音小手 支持无水印下载/音频提取/去广告等功能
android·智能手机·音视频
plainGeekDev8 小时前
Android 专家岗 Kotlin 面试题:能答出这些,说明你对语言设计有自己的理解
android·kotlin