ANE打包步骤
一、新建工程 1、新建Android工程 记得选中Mark this project as a library 1.1 构建路径导入Jar包 FlashRuntimeExtensions.jar 路径如:flashbuilder\sdks\4.6.0\lib\android\ 1.2 三个必须类: 实现FREFunction,实现其中的call方法。call方法是真正和android交互的方法。 继承FREContext,其中的getFunctions方法用于获取1)的类对象的Map容器,容器的key用于以后获取该对象。 实现FREExtension,其中createContext方法用于获取2)类的对象。 1.3 导出*.jar包 2、新建iPhone工程(Cocoa Touch Static Library) 2.1 导入头文件 FlashRuntimeExtensions.h 路径如:Application/Adobe Flash Builder 4.6/sdks/4.6.0/include/ 2.2 必须实现的方法 contextInitializer用来执行初始化操作(例如将与iPhone的原生实现的方法添加到里面) iPhone的原生实现的方法 2.3 导出*.a静态库 command+B,编译出*.a文件 二、新建AS的Lib工程,用于调用一、(记得选中包括Adobe AIR库) var context:ExtensionContext = ExtensionContext.createExtensionContext("com.three.Extension","");//com.three.Extension为Android项目中FREExtension的实现的全路径名 context.call("test", value);//为FREContext的子类Map容器的key 复制出AS工程bin目录下的*.swc文件 注意:有时需要在Flex库编译器中添加 -swf-version 18 三、新建extension.xml文件 内容如下: <extension xmlns="http://ns.adobe.com/air/extension/20.0"> <id>shs.ANE.pay</id> <versionNumber>1.0.0</versionNumber> <platforms> <platform name="iPhone-ARM"> <applicationDeployment> <nativeLibrary>libPayiPhone.a</nativeLibrary> <initializer>init</initializer> </applicationDeployment> </platform> <platform name="Android-ARM"> <applicationDeployment> <nativeLibrary>PayAndroid....