android – Phonegap / Cordova白名单跨域SSL请求导出APK后无效

前端之家收集整理的这篇文章主要介绍了android – Phonegap / Cordova白名单跨域SSL请求导出APK后无效前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个需要与自签名SSL服务进行通信的phonegap应用程序.

我在res / xml / cordova.xml中将我的URL列入白名单,如下所示:

< access origin =“https://www.mydomain.com”subdomains =“true”/>

当我从eclipse运行和构建时,这工作正常,但如果我然后导出并签署我的应用程序并手动安装APK,那么该应用程序无法与我的Web服务进行通信.

与服务器的通信使用Sencha Touch库进行,如下所示:

Ext.Ajax.request({
        url: 'https://www.mydomain.com',method: 'get',success: function(result) {                 
        },failure: function(result) {         
        }           
    });

任何帮助非常感谢

解决方法

问题是您使用的是自签名证书.默认情况下,Android WebView不允许使用自签名SSL证书. PhoneGap/Cordova overrides this in the CordovaWebViewClient class但并没有偏离它的行为;如果应用程序是经过调试签名的,它将继续并忽略错误,否则将失败.

您可以在应用程序中更改上面链接代码,并使onReceivedSslError方法始终调用handler.proceed() – 但不建议这样做.不要使用自签名证书!

猜你在找的Android相关文章