我想在运行时为我的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()
请帮我解决这个问题。
提前致谢
答案 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/