我正在使用 PhoneGap Build 开发一个 Android 应用程序,我遇到了一个烦人的问题:
我对我们的 HTTPS 服务器进行了 ajax GET 调用,如果我只是打包应用程序的调试版本,它就可以正常工作。
一旦我用我的 key 签署应用程序,并在我的手机或模拟器上试用该应用程序,它就会失败并出现以下错误:
NetworkError: A Network error occured.
如果我将所有 https 地址更改为 http,打包并以相同方式签名,它突然又开始工作了。
总结:
未签名的 apk:- https 和 http 都有效
已签名的 apk:只有 http 有效。
我想澄清一下,android权限没有改变,只是https不同而已。
最佳答案
您可以使用此插件来允许不受信任的证书: https://www.npmjs.com/package/cordova-plugin-certificates
当您的应用启动时,只需调用:
cordova.plugins.certificates.trustUnsecureCerts(true);
关于Android 应用程序在签名后无法对 HTTPS 进行 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32819660/