来源:http://bbs.9ria.com/thread-102038-1-1.html
上一章,我已经介绍了如果创建IOS库文件,并定义了两个方法ShowIconBadageNumber和InitNativeCode。好了。这一篇,我们主要来学习一下,如果创建Flex库项目。
(小提示,要安装Flash Builder4.6的时候,要把以前的Flash BUilder4.5卸载,不然会造成安装不成功的。)
1,打开安装好的Flash Builder 4.6 Prelease,创建一个Flex库项目。(小提示,这里建议用SDK4.5.1.不要用4.6.因为本人在发展用4.6的时候打包ANE有点问题。)
(在配置一项确保选中的是通用库(适用于Web,桌面和手机项目),Flash SDK选4.5.1.如果安装好后没有。请去opensource.adobe.com下载一下该SDK)
2,OK,创建好之后,新建一个类文件,用来供后面的测试ANE可用。我们这里为了测试之前在Xcode定义的两个方法,内容如下:
- package com.coolexp
- {
- import flash.external.ExtensionContext;
- public class ANELibUtils
- {
- private static var extContext:ExtensionContext = null;
- public function ANELibUtils()
- {
- if (!extContext)
- {
- initExtension();
- }
- }
- public static function showBadageNum(num:int):int{
- if (!extContext)
- {
- initExtension();
- }
- return int(extContext.call("ShowIconBadageNumber",num));
- }
- //Initialize the extension by calling our "initNativeCode" ANE function
- private static function initExtension():void
- {
- trace ("Vibration Constructor: Create an extension context");
- // The extension context's context type is NULL, because this extension
- // has only one context type.
- extContext = ExtensionContext.createExtensionContext("com.coolexp.ANELib", null);
- //com.coolexp.ANELib这里我们用这个ExtensionID,确保后面在打包ANE文件的时候一致就可以了。
- extContext.call("initNativeCode");
- }
- }
- }
3,OK,Build项目,会生成一个SWC后缀后的文件,复制一份出来,把SWC改成ZIP,解压,里面有一个XML文件,一个SWF文件,复制出来。各用。再把SWC文件也复制出来,备用。
4.新建一个extension.xml的文件,内容如下:
(如果下面的com.coolexp.ANELib,要跟上面的AS类文件里一致,libCoolExpLibANEIOS.a. 就是我们第一篇文章里得到文件)
- <extension xmlns="http://ns.adobe.com/air/extension/2.5">
- <id>com.coolexp.ANELib</id>
- <versionNumber>1</versionNumber>
- <platforms>
- <platform name="iPhone-ARM">
- <applicationDeployment>
- <nativeLibrary>libCoolExpLibANEIOS.a</nativeLibrary>
- <initializer>ExtInitializer</initializer>
- <finalizer>ExtFinalizer</finalizer>
- </applicationDeployment>
- </platform>
- </platforms>
- </extension>
5.OK,这部分到此就OK了。
下面是Actionscript Library的项目下载地址: <ignore_js_op> CoolExpANELib.fxpl.zip