Android开发中关于Xwalkview加载https网页出现安全证书ssl问题

大家都知道在URL前加https://前缀表明是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更加安全。

android自带的webview解决方法就不用说了网上很多.

然而https:里面引用诸如HTTP资源就会出现不安全的提示,并页面空白出现Request was denied for security。废话不多说开始进入正题。

报这个错误信息的时候就是进入了xwalkview的SslUtil这个工具类,并进了shouldDenyRequest这个方法

我记得是-200 具体是多少可以打个断点看看,然后怎么解决呢? 下面我们需要替换这个class文件了

首先在自己的工程里面创建一个和这个class文件一样名字java文件把这个class文件的内容ctrl+a ctrl+c 全部拷贝被java文件里面(注意别修改包名路径),然后注释掉你断点跟出来的错误码 就会返还false了,代表不弹这个弹框,当然你也可以全部注释掉,直接返回false,


然后构建工程,这个时候肯定会报错不能成功,但是在你的build目录下就会有一个class文件生成,


好了这个class文件拿到了就好说了,如果你是以依赖3方仓库的形式引入的xwalkview那么需要修改成引入本地xwalkview的方式,这个就直接去下一个aar包,地址:

https://download.01.org/crosswalk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library/

然后解压开这个aar包到class.jar也解压

class.jar解压后的org目录下\org\xwalk\core\internal找到SslUtil.calss 用之前生成的这个同名文件替换掉 然后 选中这些文件压缩成jar包



然后到


生成新的aar包 就是新的xwalkview代码了,引入项目就可以了 aar包的引入教程链接:

https://jingyan.baidu.com/article/2a13832890d08f074a134ff0.html

还没有完,这个时候 访问有问题的网页 可能会有一个英文弹框,提示用户网页不安全 是否继续访问 用户点击确定后 才能访问.

这个解决方法在XWalkResourceClient的子类中重写这个方法 就没有这个弹框了如下图:




 

猜你喜欢

转载自blog.csdn.net/qq_33543960/article/details/79578629