Android 在air应用程序中加载嵌入式swf文件时出现问题

Android 在air应用程序中加载嵌入式swf文件时出现问题,android,actionscript-3,flash,air,Android,Actionscript 3,Flash,Air,我有一个使用flash cs 5.5创建的游戏文件。我有另一个swf文件,它是我嵌入在那个游戏文件中的提示文件。它在pc上运行良好。当我尝试加载带有嵌入swf文件的游戏文件时,遇到了问题。我得到了以下错误: SecurityError:错误#3226:LoaderContext.allowCodeImport为false时无法导入SWF文件。有人能告诉我为什么会发生这种情况吗?试试这种情况: var loaderContext: LoaderContext = new LoaderContext

我有一个使用flash cs 5.5创建的游戏文件。我有另一个swf文件,它是我嵌入在那个游戏文件中的提示文件。它在pc上运行良好。当我尝试加载带有嵌入swf文件的游戏文件时,遇到了问题。我得到了以下错误:
SecurityError:错误#3226:LoaderContext.allowCodeImport为false时无法导入SWF文件。有人能告诉我为什么会发生这种情况吗?

试试这种情况:

var loaderContext: LoaderContext = new LoaderContext();
loaderContext.allowLoadBytesCodeExecution = true; 
swfLoader.loaderContext = loaderContext;

尝试这种上下文:

var loaderContext: LoaderContext = new LoaderContext();
loaderContext.allowLoadBytesCodeExecution = true; 
swfLoader.loaderContext = loaderContext;

我想您正在android设备上使用AdobeAIR for mobile。在air for mobile中,对加载外部SWF文件有额外的限制,特别是当它们包含字节码(ActionScript)时。由于辅助SWF文件本身包含actionscript代码,因此如果没有明确的安全许可,您无法将其加载到mobile air应用程序中

当您实例化引用嵌入SWF文件的类时,AS3隐式地使用
Loader
,并使用默认选项加载,该选项在移动运行时环境中设置为“在空中不同”

通过自己创建
Loader
LoaderContext
实例,您可以手动加载它们

var ldr:Loader = new Loader();
var lc:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
lc.allowCodeImport = true;
ldr.load(new URLRequest("YOUR_FILE_PATH"), lc);
还要注意的是,在iOS中,即使将
allowCodeImport
设置为true,也不能以任何方式使用代码加载外部SWF


有关更多详细信息:

我想您正在android设备上使用AdobeAIR For mobile。在air for mobile中,对加载外部SWF文件有额外的限制,特别是当它们包含字节码(ActionScript)时。由于辅助SWF文件本身包含actionscript代码,因此如果没有明确的安全许可,您无法将其加载到mobile air应用程序中

当您实例化引用嵌入SWF文件的类时,AS3隐式地使用
Loader
,并使用默认选项加载,该选项在移动运行时环境中设置为“在空中不同”

通过自己创建
Loader
LoaderContext
实例,您可以手动加载它们

var ldr:Loader = new Loader();
var lc:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
lc.allowCodeImport = true;
ldr.load(new URLRequest("YOUR_FILE_PATH"), lc);
还要注意的是,在iOS中,即使将
allowCodeImport
设置为true,也不能以任何方式使用代码加载外部SWF

有关进一步详情: