Flex-built SWF's no longer work, error 2048, 2

2019-05-02 19:15发布

问题:

I'm really confused about this problem, and I'm pretty new to Flex. Basically, anything I try to build with mxmlc fails to run now, giving me the above three errors depending on what I do. It was working 30 minutes ago, I've been spending that time trying to figure out what has changed. I redownloaded the Flex SDK, cleared my assetcache, have cleared Firefox's cache. (I'm using Linux.) Even if I compile with -static-link-runtime-shared-libraries=false, since it seems like #2048 is a RSL problem, it still refuses to run.

Another strange thing, if I keep

<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
<rsl-url>textLayout_1.0.0.595.swz</rsl-url>

in my flex-config file, then firebug tells me that my swf file is trying to access a copy of that in the app's folder, giving error 2032. And if I stick the one I have in frameworks/rsls/ then it gives me error 2046. I don't know how it could not be properly signed, unless Adobe magically changed a signature and didn't update their flex SDK.

Any help will be appreciated.

回答1:

On Linux I sometimes get these errors. It seems that the Flash Player cache sometimes get corrupt. When I delete the asset cache I then have to reboot in order for things to work again. Not fun. I filed a bug a while back but without having a consistent way to recreate the corruption I can't help them reproduce the issue. Please file a bug if you have a consistent way to reproduce the issue.



回答2:

Okay, more weirdness. Simply restarting Firefox seems to have allowed the applications to work again. Facepalm



回答3:

Today I experienced that problem in one browser but not in other. I have Ubuntu 10.04 and in google chrome 6 I received error #2046. In FireFox and Opera everything worked well. The problem has been solved when I reloaded my chrome browser.



回答4:

This is an off the cuff answer, maybe not correct, but I encountered a similar issue recently and discovered that the issue was that our app was not compiling the Flex libraries into the SWF. Because of this, in some cases the Flash player would for whatever reason decide that the cached Flex libraries (.swz files, aka Runtime Shared Libraries or RSLs) were incorrect versions and so would refuse to load them, giving similar errors without explanation. These cached libraries are separate from the browser cache, they are cached for the whole OS. You could try explicitly linking the Flex libraries into your SWF to troubleshoot the problem. If it goes away, that's a useful clue.



标签: flex flex4