Android 应用程序在签名后无法对 HTTPS 进行 ajax 调用

标签 android ajax ssl https phonegap-build

我正在使用 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/

相关文章:

android - 任务 :app:uploadCrashlyticsMappingFileRelease FAILED Expected file collection to contain exactly one file, 但是,它不包含文件

android - Activity 之间的广播发送/接收

android - Robolectric 和 Retrofit - 等待响应

jquery - 单击后通过 ajax 延迟加载单个选择框选项的正确方法

python - 实时网络聊天应用程序的架构

ssl - mule 异步 tls/ssl 入站端点

node.js - NodeJS HTTP/2 ERR_CONNECTION_REFUSED

android - 亚行错误代码

vb.net - 如何在我的网络浏览器应用程序中包含证书

javascript - 使用 AJAX 提交所有表单数据