1.创建AS的Flex库工程,该工程包括as文件和extension.xml
作用:as文件中提供的方法,即是在使用该原生扩展功能时,被其它as文件调用的功能方法,如“震动”、“改变系统音量”等。在该as文件中,要完成的原生功能,通过调用extension.xml文件中指定原生平台文件中的初始化方法。如下图:
(1)extension.xml
(2)as文件
1.构造方法中的参数,即是extension.xml中中的<id>
2.通过该ID找到对应的extension.xml,并找到其中对应的文件,监听系统状态变化事件,如果是声音变了,就把系统声音设置为变化了的声音。而原生代码监测到声音有变化,就派发事件。
2.创建原生代码,实现具体的功能
3.打包ane文件
把文件组织好,结构如下:
执行命令:
adt -package -storetype pkcs12 -keystore jq.p12 -storepass jiaqian86 -target ane Output.ane extension.xml -swc VolumeLib.swc -platform iPhone-ARM -C ios . -platformoptions platformoptions.xml -platform Android-ARM -C android . -platform default -C default .
解析:
1.需要设置adt的路径到环境变量path中,保证执行adt -version 可以有内容输出
2.storetype,是一个证书,可以随意从任意的flash手机项目中导出(项目--->导出发行版)
3. VolumeLib.swc即是步骤1中生成的库工程。
4.-C ios. 是指ios文件夹中的所有文件。如果想指定单个文件,可以用 C ios xxx.a
5.-platformoptions 属性,需要adt3.1,才支持。
4.运用打包成的ane文件
1.工程-- 属性-- 本机扩展--添加ane
2.写代码时,直接用步骤1中的as提供的方法即可。