【问题标题】:Phonegap, Android getJSON call in release buildPhonegap,Android getJSON 在发布版本中调用
【发布时间】:2013-07-16 14:46:48
【问题描述】:

我有一个 Android PhoneGap 应用程序,它使用 getJSON 方法对服务进行各种调用。在调试或将调试 APK 安装到设备上时,所有这些调用都可以正常工作。当我创建 APK 以在同一设备上发布和安装时,它们开始失败。

下面的代码是一个例子。下面的函数在控制台中记录的错误是

登录失败: 错误: : {"readyState":0,"responseText":"","status":0,"statusText":"error"}

            function getAppServerUrl(org, callBack) {
                console.log('call locator service : ' + org);
                $.getJSON('https://url_removed/loc/locator?id=' + org,
                    function (data) {
                        console.log('getAppServer returned ' + data);
                        appServer = data + '/';
                        callBack();
                    }).fail(function (jqXHR, textStatus, errorThrown) {
                        console.error('Login failed : ' + textStatus + 
                           ' : ' + errorThrown + 
                           ' : ' + JSON.stringify(jqXHR));
                    });
            }

我已经检查了 config.xml 包含访问源

<access origin="https://url_removed"/>

我什至添加了一个通配符

<access origin="*"/>

提前致谢,,,

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    好的,我进行了更多挖掘并找到了答案。第一个线索是从 https 更改为 http 似乎可以治愈它。

    从那里我发现了一些相关的帖子。我呼叫的服务器似乎没有正确安装 SSL 证书。正如下面的帖子所说,服务器在桌面上看起来很好,但在 Android 浏览器上却失败了。

    Certificate is trusted by PC but not by Android

    问题直到应用程序的签名发布版本才出现,因为 Phonegap 在调试时允许错误的证书。

    PhoneGap Ajax call to HTTPS server with self-signed certificate fails

    希望此信息可以帮助其他有类似问题的人。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 2016-10-09
      • 1970-01-01
      • 2012-09-09
      • 1970-01-01
      相关资源
      最近更新 更多