Android发行版无法连接到服务器

时间:2018-04-20 16:59:23

标签: android cordova

我们有一个在ios上运行良好的cordova应用程序,Android的调试版本运行良好。问题是我们构建发布版本。该应用程序将启动,但没有一个ajax调用工作。

我们尝试过很多东西。我们更新了cordova,我们已将config.xml更改为:

<allow-navigation href="*"/>

迄今为止唯一有效的方法是将apk的AndroidManifest.xml更改为debuggable。我们这样做了,所以我们可以调试问题,但它实际上是为了调用ajax。我尝试上传该APK,但Google Play不接受可调试的apk。

叹息.....

另一件可能有用的信息是我们最近不得不更改服务器的域名。我们编辑了所有文件以指向相应的服务器。所以他们指向正确的主机,但我认为它甚至可能是证书或CORS的问题。

如果有人有任何想法,我们真的可以使用一些帮助。

2 个答案:

答案 0 :(得分:1)

我和我的同事有一个非常相似的问题,我们尝试了这些答案中提到的所有内容,但没有任何效果。我们终于发现我们的问题是科尔多瓦的ssl证书问题。这是一个可怕的问题,因为它永远不会完全告诉您一个问题。
这是对我们最大帮助的文章链接:

http://ivancevich.me/articles/ignoring-invalid-ssl-certificates-on-cordova-android-ios/

真的希望这会有所帮助!

答案 1 :(得分:0)

此类错误最常见的问题是应用程序缺少白名单插件。这是Android应用程序所必需的,但不适用于iOS应用程序。

cordova plugin add cordova-plugin-whitelist

然后在config.xml中添加以下内容以允许所有内容:

<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<access origin="*" />