文档介绍:这几天用 air 做 android 项目, 发现个功能 air 实现不了。得用 android 原生技术, 但小弟菜蔬学浅, android 原生是搞不懂了, 还是 AS 用着顺手。于是跟度娘求助, 然后就发现了 ANE 这东东,但发现关于 ane 的中文资料灰常少,度娘上的资料基本都是官方性质的,用词都很官方(神马是上下文环境啊,完全不懂- -# ) ,后来还是谷哥靠谱,资料稍多点,但都是 E 文的呃,但这小小的困难怎么能难倒哥呢,要知道,哥电脑上可是装了有道词典的! 于是在走了 N 多弯路后终于把这玩意弄懂了(不容易啊- -# ) 。本着造福后人的思想,小生就把这个东西的玩法用天朝文写下来啦。 OK ,先简单说说 ANE 是啥吧(不想看废话的请跳过这段)。 ANE ( AIR Native Extension ), 就是本机扩展, 顾名思就是对 air 运行的本机的扩展( 还是没听懂? )。好吧, 我的理解就是 air 不能实现的功能, 就用 ane 来实现。比如我要用 air 来控制电脑的鼠标移动,这个功能貌似 air 做不到吧,如果能做到,那 air 就可以用来做病毒了--! 显然, adobe 不会让你这么做的。但C 语言能完成这功能,于是乎, ANE 的作用就出来了——把C和 as 打包起来, AS 调用 C 来完成 AS 不能完成的任务。好吧,至于 ANE 还能干嘛, 你们自己慢慢 YY ,下来我就开始写教程了。以下教程是用在 android 手机上的: 首先,在这个教程里要准备的工具: 1、 flash cs6 2、 flash builder (低版本的没用过,不是很清楚); 3、 adt 打包工具(回复本帖就能下载哟,亲); 4、数字证书( 就是用来签证的玩意, 可以向 adobe 申请, 也可以自己用 flash cs6 创建); OK ,东西准备好了吧? let's go ! 一、创建 jar 就是个 java 文件, android 系统原生就是 java 来写的, 所以我们想扩展 android 上的 air ,就得有个 jar 文件来实现你要的功能。 1 、先打开 FB (就是 flash builder ,以后都叫它 FB 了) 。建一个 java 项目。(文件- 新建- 其它-java 项目| file-new -other-java-java project ) 。然后,随便给它起个名字,完成。然后,看看项目目录,应该就是这个: 然后, 对着项目点右键( 就是对着 myExtensonJava 点右键), 点击属性, 再选 java 构建路径, 然后选库路径、再选添加外部 jar ,再找到 flash cs6 目录下 \lib\android\ 的 文件( properties — java built path — library — Add External JARs —— XXX 目录下的 —打开— OK ) 如图: 然后,在项目的 src 文件下建一个包,包名自定,.three ,接着再在这个包下建 3个 java 类。先看看项目结构各 JAVA 代码如下: 1、 Extension 的代码?.three; ?..*; ??//Extension 这个类是 AS 与 JAVA 交互的最基础的入口,其实很简单,也就这么点东西? public class Extension implements FREExtension { ???***@Override ? public FREContext createContext(String arg0) { ??// new 一个新的 threeExtensionContext 出来; ?? return new threeExtensionContext(); ??} ????***@Override ?? public void dispose() { ??//这个销毁资源的方法,暂时没有什么用,空着????} ????***@Override ?? public void initialize() { ??//初始化方法,暂时用不着,空着先????} ????}复制代码 2、 threeExtensionContext 的代码: ??.three; ???? import .*; ????.; ??.; ???? public class threeExtensionContext extends