签名后,Android应用无法对HTTPS进行ajax调用

时间:2015-09-28 09:28:53

标签: android ajax ssl https phonegap-build

我正在开发一个带有PhoneGap Build的Android应用程序,我遇到了一个恼人的问题:

我对我们的HTTPS服务器进行ajax GET调用,如果我只是打包应用程序的调试版本,它可以正常工作。

只要我使用我的密钥签署应用程序,并在我的手机或模拟器上试用该应用程序,它就会失败,并显示以下错误:

NetworkError: A Network error occured.

如果我将所有https地址更改为http,将其打包并以相同方式签名,它会突然重新开始工作。

总结一下:

UNSIGNED apk: - https& http都工作

SIGNED apk:只有http才有效。

我想澄清一下,Android权限不变,只有http s 才有区别。

1 个答案:

答案 0 :(得分:4)

您可以使用此插件来允许不受信任的证书: https://www.npmjs.com/package/cordova-plugin-certificates

当您的应用开始时,只需致电:

[Test]
    public void it_should_throw_exactly()
    {
        Action actionToTest = () => { throw new MyException(); };
        actionToTest.ShouldThrowExactly<MyException>();
    }

    [Test]
    public void it_should_throw()
    {
        Action actionToTest = () => { throw new MyException(); };
        actionToTest.ShouldThrow<Exception>();
    }