Android设备在运行时不加载Flex样式

时间:2011-12-08 04:55:21

标签: android actionscript-3 flex air flex4.5

我想在运行时为我的flex移动应用程序加载我的样式(以swf格式)。对于该要求,我已将我的css文件编译为swf格式,并使用“StyleManager.loadStyleDeclarations(”style.swf“)为我的应用程序加载;” 。当我在桌面上运行它时,我得到我的应用程序样式,但在将我的文件构建为apk格式后,我无法在设备中获取应用程序的样式。当我从我的Android设备调试我的应用程序时,我收到以下错误消息。

Error: Unable to load style(RSL app:/framework_4.5.1.21328.swz failed to load. Error #2032: Stream Error. URL: app:/framework_4.5.1.21328.swz): style.swf.
    at Function/<anonymous>()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\styles\StyleManagerImpl.as:1551]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at ModuleInfoProxy/moduleEventHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\modules\ModuleManager.as:1149]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at ModuleInfo/moduleErrorHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\modules\ModuleManager.as:816]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.core::FlexModuleFactory/update()
    at mx.core::FlexModuleFactory/displayError()
    at mx.core::FlexModuleFactory/rslErrorHandler()
    at mx.core::RSLListLoader/listIOErrorHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\core\RSLListLoader.as:286]
    at mx.core::RSLItem/itemErrorHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\core\RSLItem.as:275]
    at mx.core::CrossDomainRSLItem/itemErrorHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()

请帮我解决这个问题。

提前致谢

1 个答案:

答案 0 :(得分:1)

问题是由Flex 4在将CSS文件编译为SWF时生成不必要的RSL引起的。

Todd Anderson通过使用ANT和一个名为flex-runtime-css的项目解决了这个问题。

您可以在此处找到更多信息:

http://custardbelly.com/blog/2010/10/20/flex-4-and-runtime-style-sheets/