Adobe AIR ANE默认平台可以';找不到方法名

Adobe AIR ANE默认平台可以';找不到方法名,air,Air,我有一个AdobeAIR电子邮箱,可以在iOS上构建并运行良好。我想在AIR simulator中运行此应用程序,但要使用本机ANE的actionscript版本 阅读文档时,默认配置文件似乎非常适合于此 我将默认配置文件添加到extension.xml文件中。我在工作区中的每个项目中都添加了本机接口的AS实现。我已将方法设置为静态/非静态等。我已尝试了所有方法,但不断出现以下错误: ArgumentError: Error #3500: The extension context does n

我有一个AdobeAIR电子邮箱,可以在iOS上构建并运行良好。我想在AIR simulator中运行此应用程序,但要使用本机ANE的actionscript版本

阅读文档时,默认配置文件似乎非常适合于此

我将默认配置文件添加到extension.xml文件中。我在工作区中的每个项目中都添加了本机接口的AS实现。我已将方法设置为静态/非静态等。我已尝试了所有方法,但不断出现以下错误:

ArgumentError: Error #3500: The extension context does not have a method with the name
我完全不知所措。以下是相关文件:

extension.xml

<extension xmlns="http://ns.adobe.com/air/extension/3.1">
    <id>com.novel.analytics.ext.ApsalarNativeInterface</id>
    <versionNumber>0.0.0</versionNumber>
    <platforms>
        <platform name="iPhone-ARM">
            <applicationDeployment>
                <nativeLibrary>libApsalarNativeInterface.a</nativeLibrary>
                <initializer>ExtInitializer</initializer>
                <finalizer>ExtFinalizer</finalizer>
            </applicationDeployment>
        </platform>
        <platform name="default"> 
            <applicationDeployment/> 
        </platform>              
    </platforms>
</extension>
我的本机界面:

package com.novel.analytics
{
    import flash.external.ExtensionContext;

    public class ApsalarInterface
    {
        private static const EXTENSION_ID : String = "com.novel.analytics.ext.ApsalarNativeInterface";
        private var context : ExtensionContext;

        public function ApsalarInterface()
        {
            this.context = ExtensionContext.createExtensionContext(EXTENSION_ID, null);
        }       

        public function initApsalar(apiKey:String, secret:String):void
        {
            context.call("initApsalar", apiKey, secret);
        }
    }
}
以下是我的adt命令行(library.swf是包含上述两个文件的库:

/Applications/Adobe\ Flash\ Builder\ 4.6/sdks/4.6.0/bin/adt -package -target ane ../../$PRODUCT_NAME.ane extension.xml -swc NativeInterface.swc -platform iPhone-ARM -C . library.swf -platform default -C . library.swf

正如我所说,我对这一点完全不知所措。

很抱歉延迟了回复,但我认为您会从这本精彩的教程中获益:


根据上面的代码片段,看起来您正试图用不同的类名在不同的包中定义纯ActionScript实现。似乎您实际上希望使用相同的包+类+方法名,并将其存储在不同的库中(因此它被捆绑为自己的SWF)。然后你告诉ADT如何捆绑东西。

顺便说一句,该教程的代码是adobe文档对这部分的工作原理非常模糊。起初我认为它也是这样工作的!
/Applications/Adobe\ Flash\ Builder\ 4.6/sdks/4.6.0/bin/adt -package -target ane ../../$PRODUCT_NAME.ane extension.xml -swc NativeInterface.swc -platform iPhone-ARM -C . library.swf -platform default -C . library.swf