为Android构建本机扩展-createExtensionContext返回null

为Android构建本机扩展-createExtensionContext返回null,android,actionscript-3,air,air-native-extension,Android,Actionscript 3,Air,Air Native Extension,我一直试图在AdobeAIR中为Android构建一个本机扩展,但遇到了一些问题。看起来配置或构建步骤有问题 我已经创建了一个样板项目,这样我就可以深入到问题的根本。下面是我用于它的测试代码: package { import com.tomasz.boilerplate.BoilerplateAS; import flash.display.Sprite; import flash.display.StageAlign; import flash.display

我一直试图在AdobeAIR中为Android构建一个本机扩展,但遇到了一些问题。看起来配置或构建步骤有问题

我已经创建了一个样板项目,这样我就可以深入到问题的根本。下面是我用于它的测试代码:

package
{
    import com.tomasz.boilerplate.BoilerplateAS;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;

    public class BoilerplateTest extends Sprite
    {
        public function BoilerplateTest()
        {
            super();

            // support autoOrients
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;

            var ane:BoilerplateAS = new BoilerplateAS();
        }
    }
这是我的电子邮箱AS3的来源[样板文件.as]:

package com.tomasz.boilerplate
{
    import flash.events.EventDispatcher;
    import flash.external.ExtensionContext;

    public class BoilerplateAS extends EventDispatcher
    {
        private var _extContext:ExtensionContext;

        public function BoilerplateAS()
        {
            super();
            _extContext = ExtensionContext.createExtensionContext("com.tomasz.boilerplate", "");
            if(!_extContext) {
                throw new Error("Boilerplate native extension is not supported on this platform.");
            }
        }
    }
}
问题是我得到的_extContext等于null

这是我的extension.xml:

<extension xmlns="http://ns.adobe.com/air/extension/19.0">
    <id>com.tomasz.boilerplate</id>
    <versionNumber>1</versionNumber>
    <platforms>
        <platform name="Android-ARM">
            <applicationDeployment>
                <nativeLibrary>classes.jar</nativeLibrary>
                                <initializer>com.tomasz.boilerplate.MainActivity</initializer>
                                <finalizer>com.tomasz.boilerplate.MainActivity</finalizer>
            </applicationDeployment>
        </platform>
    </platforms>
</extension>
我已经在OSX上用JDK1.7.079和AdobeAir21和AdobeAir19完成了这项工作。我和他们两个都有同样的问题。我也尝试过用JDK1.8.091编译,但仍然存在同样的问题。JDK1.6不可行,因为我需要新SDK的Android功能


有人能告诉我我可能做错了什么吗?有人能编译这个源代码并使用它吗?如果有任何帮助,我将不胜感激。

这是您的第一封电子邮件,我接受了。要想让它一开始工作,需要一些尝试和错误。由于您故意不提供默认实现,我假设您只直接在设备上进行测试(否则当然无法获得上下文)。@BotMaster不是我的第一个ANE。几个月前,我构建了一个没有问题的扩展(至少像这里这样)。但现在在一台新电脑上,我遇到了这个问题。我只粘贴了对我来说很重要的基本代码。这是一个样板,我想在上面找出我做错了什么。实际的ANE也有默认和iOS实现。如果有人成功地编译了它并使其工作,我可以在我这边修复它,并在目标ANE中修复相同的问题。我也有使用JDK 1.7+编译ANE的问题。使用JDK1.6编译的Ane运行良好,但当使用1.7编译相同的源代码时,无法创建扩展实例。您可以禁用1.7+功能,并使用1.6编译它以进行测试,所以您将确定问题就在这里。这是您的第一个电子邮件,我接受它。要想让它一开始工作,需要一些尝试和错误。由于您故意不提供默认实现,我假设您只直接在设备上进行测试(否则当然无法获得上下文)。@BotMaster不是我的第一个ANE。几个月前,我构建了一个没有问题的扩展(至少像这里这样)。但现在在一台新电脑上,我遇到了这个问题。我只粘贴了对我来说很重要的基本代码。这是一个样板,我想在上面找出我做错了什么。实际的ANE也有默认和iOS实现。如果有人成功地编译了它并使其工作,我可以在我这边修复它,并在目标ANE中修复相同的问题。我也有使用JDK 1.7+编译ANE的问题。使用JDK1.6编译的Ane运行良好,但当使用1.7编译相同的源代码时,无法创建扩展实例。您可以禁用1.7+功能,并使用1.6编译它以进行测试,所以您可以确定问题就在这里。
adt -package -target ane Boilerplate.ane extension.xml -swc BoilerplateAS.swc -platform Android-ARM -C Android-ARM .