0

我正在使用 Flex Builder 4.6 开发一个 android 应用程序。这是一个相当复杂的应用程序,我正在使用HTTPService与服务器进行通信。它工作正常,直到最近它在制作 apk 文件后停止工作。因此,在桌面模拟器中,在移动设备的调试模式下,HTTPService 工作正常,但是当我进行发布构建并将其安装在移动设备中时,它就无法正常工作。

我试图追查错误,它只是简单地显示“HTTP 请求错误”。例如这里是我正在使用的 mxml 代码

<s:HTTPService id="sayHi" method="GET" result="sayHi_resultHandler(event)" fault="sayHi_faultHandler(event)"
                   url="https://zaawi.co.uk/developer/controller.php" useProxy="false">
        <s:request xmlns="">
            <h>sayHi</h>
        </s:request>
    </s:HTTPService>

我在浏览器中检查了 url https://zaawi.co.uk/developer/controller.php?h=sayHi,在模拟器和调试模式下都可以正常工作。

服务器(php)以xml格式发送响应

print '<?xml version="1.0" encoding="UTF-8"?><data><hi>hello world</hi></data>';

它工作了将近一年,最近才停止工作。

如果其他人有这个问题,请告诉我,我该如何解决这个问题。

提前谢谢了

4

2 回答 2

0

I had a similar problem a while ago, my HTTPService requests started to fail and i didn't got anything useful in the FaultEvent, but after hours of trying different things i noticed that i had the network monitor enabled in flex, and since i had nothing to loose, i disabled it a voila! The app worked again!

I think when you have the network monitor enabled, the app redirects all requests thru a local proxy or something and that way you can sniff the requests, but this seems to stay when you create a release version and mess all requests.

So if you have network monitor enabled, just disable it, and then try to build your app again.

于 2012-10-31T20:25:33.127 回答
0

似乎它与强制运行时如何调用 https 端点有关。在 Nexus 平板电脑上使用 HTTPS 时,Adobe AIR 移动应用程序在此线程上失败,但在 Kindle 上工作时发现,通过从强制运行时切换到使用共享 AIR 运行时,错误消失了。您可能还想尝试最新的 AIR SDK 并查看是否能解决问题(尽管我一直看到使用 3.8 beta 构建在 iOS 上运行的应用程序存在问题,因此您可能想先尝试 3.7)。

于 2013-08-28T03:40:32.443 回答