zoukankan      html  css  js  c++  java
  • Ionic项目打包Android在9版本以上不能进行HTTP通信问题

    Ionic项目打包Android在9版本以上不能进行HTTP通信问题

    原因

    在Ionic开发中使用http请求请求后台数据,在浏览器测试的时候非常成功!但是嘞,在真机测试的时候就会出现一些瑕疵,什么瑕疵嘞,就是发现Android9及以上的真机在测试的时候总是显示请求失败!其实是因为跨域问题,在浏览器调试中,使用代理可以向本机后台发送请求;但是在真机调试中不存在跨域,所以把代理去掉,但正常的http请求却过不去。也就是说,Android9以及以上的Android版本需要使用https通信,不支持http通信,但是有办法!

    解决办法

    在 platformsandroidappsrcmain esxml etwork_security_config.xml 文件中的代码改成下边形式:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <base-config cleartextTrafficPermitted="true" />
    </network-security-config>
    

    在这里插入图片描述

    打开android的manifest.xml文件,在application标签中添加 android:networkSecurityConfig="@xml/network_security_config"

    android:networkSecurityConfig="@xml/network_security_config"
    

    由于platform有时会remove掉重新add,所以每次都要去重新配network_security_config.xml就显得特别麻烦,后来在ionic start myApp blank时发现ionic默认在myApp/config.xml里已经把此配置提出来了:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <base-config cleartextTrafficPermitted="true" />
    </network-security-config>
    

    在这里插入图片描述

    然后就可以了!哈哈哈!完美~

  • 相关阅读:
    本地计算机 上的 Redis Server 服务启动后停止
    RabbitMQ 命令行
    mysql ORDER BY 中文出现错误问题
    使用javascript纯前端导出excel
    软件测试概念学习
    excel控件只为简单写入数据表--github找到ExcelUtil笔记
    快速创建Spring web项目
    PQGrid商业化的表格组件
    mybatis传入参数为0被误认为是空字符串的解决方法
    MyBatis like报错
  • 原文地址:https://www.cnblogs.com/wjw1014/p/12522263.html
Copyright © 2011-2022 走看看