Android高版本http网络请求失败的Cordova配置处理

Android高版本http网络请求失败的Cordova配置处理,第1张

问题出现的原因是因为Android高版本(Android 6.0)以上默认使用TLS保护用户信息,详见以下文档:

Transport Layer Security

摘录关键信息如下:

简单地说,在Android高版本对非加密的明文传输有要求,也即默认启用了TLS保护,使得该应用无法进行http网络请求,而https则不会受影响,同样地,如果应用嵌套了webview也会受这限制。

针对这种情况,有以下解决方案:

然后在AnroidManifest.xml中的application添加指向该文件的设置项:

android:networkSecurityConfig="@xml/network_security_config"

综合考量,第3种方案个人认为会好点,Cordova配合其使用也很简单:

在config.xml文件中,在 <platform name="android"/>节点内添加配置项即可:

这样Cordova build的时候就会把上面配置合并到AnroidManifest.xml中。

1、cordova3.0.0的命令行cordoava CLI和phonegap CLI在windows系统上开发android程序的注意事项‘

a 首先要根据要求安装最新的android SDK,目前我的版本要求 SDk 17才能顺利进行

b 一定要配置好环境变量,把SDK's tools and platform-tools 目录配置到你的环境变量中去,

另外还要把ANT也要配置到系统环境变量中去,如

%JAVA_HOME%\bin%ANT_HOME%\bin

2、cordovan3.0.0的插件可以用命令行远程从git添加,也可以下载下来从本地用命令行添加,两种方法的命令

是一样的,只需要把最后参数的远程地址改成本地路径即可

3、npm install -g cordova@XXXXX 可以指定要安装的cordova版本

4、把老版本的3.0.0以前开发的程序升级到3.0.0的注意事项

a 需要新建一个cordova项目

b 把seerts里的www文件夹下的东西都复制过去,记住cordova.js文件不要替换,要用新创建的里面的cordova.js不要用旧的程序里的覆盖

c 把 src文件下的程序包都复制到新程序的src下面,需要修改所有的引用org.apache.cordova.api成org.apache.cordova,

这是新版本的cordova命名上的变化

d 先前程序中的android的访问权限设置需要在新程序中重新进行设置

e 把config.xml中添加的插件的格式在新的程序中按照新的格式重新进行整理


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11265481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存