xwalkview 升级到20后 ssl验证失败打不开https的问题

升级org.xwalk:xwalk_core_library_beta:20.50.533.12
之后,出现了一些bug,例如:打不开没有ssl证书的https网址;搜遍了网络都找不到答案,特意再次记录下来,xwalk这个第三方的webview引擎,国内国外的论坛资料太少了,出现问题很难得到有效的援助;
反编译后发现,打出toast的那个ssl验证失败的代码再次;和之前的逻辑对比后发现,多了
 boolean shouldDeny = SslUtil.shouldDenyRequest(certError);
/* 693 */     if (shouldDeny) {
/* 694 */       Toast.makeText(this.mXWalkView.getContext(), R.string.ssl_error_deny_request, 0).show();
/*     */ 
/* 696 */       return false;
/*     */     }
这几行,再点进去看看,发现在升级后,他们对
这些错误做了拦截处理;我debug时https类型的URL的ssl验证失败后,是200,被拦截后打出toast;唉,解决方案是这样的:
在主moudle下新建和sslutils的包名一样的java文件,最后build出apk,应该会失败,但是在build目录下会有你新建的sslutils的class,拿住这个class,对,就是这个sslutils.class,【主moudle的代码编译会优先与第三方的依赖】;然后
如果你是这样加的依赖:
//    compile 'org.xwalk:xwalk_core_library_beta:13.42.319.11'//(升级后是20+)
先找到你本地的meven仓库,默认应该在.gradle的文件夹下
例如:C:\Users\Administrator\.gradle\caches\modules-2\files-2.1
然后从里面找到xwalk的包名,点进去,找到aar文件,对,再打开,是打开,找到class.jar 文件,再打开,找到对应的sslutils.class文件,覆盖,好了搞定,然后回到你的android studio,切换到project模式,删除你build下的xwalk缓存,然后重新安装,就会发现没有ssl证书的https网址可以打开了;
插播广告:OTCBTC 是目前最流畅、最靠谱、最好用的场外交易平台,支持支付宝、微信、银行卡支付购买BTC、ETH、EOS、USDT、QTUM、ZEC、GXS、BCH 等数字币。现在注册,即可领取比特币红包! https://otcbtc.com/referrals/904529093

猜你喜欢

转载自blog.csdn.net/chen352602412/article/details/54580168
今日推荐