Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash Flex/ADL:加载的代码中不允许使用本机方法_Flash_Apache Flex_Actionscript_Air - Fatal编程技术网

Flash Flex/ADL:加载的代码中不允许使用本机方法

Flash Flex/ADL:加载的代码中不允许使用本机方法,flash,apache-flex,actionscript,air,Flash,Apache Flex,Actionscript,Air,我试图在ADL命令行调试器下运行我的AIR应用程序,包括(我没有使用FlashDevelop之类的IDE)。我的应用程序适用于Windows桌面计算机 编译似乎没有问题: $ amxmlc src/menustatemain.as -o src/menustatemain.swf -compiler.include-libraries C:\Users\Me\Downloads\AIRSDK_Compiler\frameworks\libs\player\21.0\playerg

我试图在ADL命令行调试器下运行我的AIR应用程序,包括(我没有使用FlashDevelop之类的IDE)。我的应用程序适用于Windows桌面计算机

编译似乎没有问题:

$ amxmlc src/menustatemain.as
    -o src/menustatemain.swf
    -compiler.include-libraries C:\Users\Me\Downloads\AIRSDK_Compiler\frameworks\libs\player\21.0\playerglobal.swc
    -external-library-path+=extensions\ane\NativeJoystick.swc
    -use-network=false
    -verbose-stacktraces=true
    -debug=true
    -advanced-telemetry
    -omit-trace-statements=false
    -define=CONFIG::debug,false
    -define=CONFIG::test,true
Loading configuration: C:\Users\Me\Downloads\AIRSDK_Compiler\frameworks\air-config.xml

3383030 bytes written to C:\Users\Me\Documents\myproject\src\menustatemain.swf in 17.069 seconds
但是,当我尝试在ADL下运行应用程序时,它失败,出现以下错误:

$ adl
    -extdir extensions\ane_unzipped
    -profile extendedDesktop
    menustatemain.xml
VerifyError: Error #1079: Native methods are not allowed in loaded code.
我在谷歌上搜索过,但我没有尝试过解决这个问题。关于StackOverflow有几个类似的问题,它们的答案不能解决我的问题。我已经更改了我能找到的每个设置,以便在编译时动态链接扩展并在运行时加载它。我有预感这可能是扩展本身的问题,但我不知道如何验证这一点

如何调试此问题

对于上下文,这是
menustatemain.xml
的内容:

<application xmlns="http://ns.adobe.com/air/application/21.0">
    <id>com.me.MyProject</id>
    <versionNumber>1.0</versionNumber>
    <filename>MyProject</filename>
    <initialWindow>
        <content>MyProject.swf</content>
        <visible>true</visible>
        <width>640</width>
        <height>480</height>
        <maximizable>false</maximizable>
        <resizable>false</resizable>
    </initialWindow>
    <supportedProfiles>extendedDesktop</supportedProfiles>
    <extensions>
        <extensionID>com.iam2bam.ane.nativejoystick</extensionID>
    </extensions>
</application>

问题是我使用了错误的
playerglobal.swc
。flexsdk下载附带了一个“player”框架和一个“AIR”框架,我错误地编译了“player”框架,后者不允许本机扩展。更改compile命令实现了以下目的:

-compiler.include-libraries C:\Users\Me\Downloads\AIRSDK_Compiler\frameworks\libs\air\21.0\airglobal.swc

谢谢你的提示,寿司宿醉

问题是我使用了错误的
playerglobal.swc
。flexsdk下载附带了一个“player”框架和一个“AIR”框架,我错误地编译了“player”框架,后者不允许本机扩展。更改compile命令实现了以下目的:

-compiler.include-libraries C:\Users\Me\Downloads\AIRSDK_Compiler\frameworks\libs\air\21.0\airglobal.swc

谢谢你的提示,寿司宿醉

听起来好像是
adl
拾取了错误的
Playerglobal.swc
或它的错误版本。我正在通过
-compiler.include-libraries C:\Users\Me\Downloads\AIRSDK\u compiler\frameworks\libs\player\21.0\Playerglobal.swc
指定它。你认为指定一个不同的版本会有帮助吗?我怎么知道该使用哪个版本呢?我“假设”您编译所针对的播放器是自21.0以来的正确版本。我说的是adl。这是从21.0开始的吗。。。i、 e.设置
-runtime
选项是否修复了您的#1079错误?通常,每当我看到错误时,
adl
来自错误的版本和/或它没有拾取正确的播放器swc,因此它失败,因为它拾取的播放器sac是闪光的,而不是空中的。。。另外,当你将应用程序打包到本地air安装程序中时会发生什么情况,它运行正常吗?听起来好像是adl拾取了错误的
Playerglobal.swc
或它的错误版本。我正在通过
-compiler.include-libraries C:\Users\Me\Downloads\AIRSDK\u compiler\frameworks\libs\player\21.0\Playerglobal.swc
指定它。你认为指定一个不同的版本会有帮助吗?我怎么知道该使用哪个版本呢?我“假设”您编译所针对的播放器是自21.0以来的正确版本。我说的是adl。这是从21.0开始的吗。。。i、 e.设置
-runtime
选项是否修复了您的#1079错误?通常,每当我看到错误时,
adl
来自错误的版本和/或它没有拾取正确的播放器swc,因此它失败,因为它拾取的播放器sac是闪光的,而不是空中的。。。另外,当您将应用程序打包到本地air安装程序中时会发生什么情况,它是否正常运行?