Flash ANE打包

一.打包ANE需要以下6个(组)文件

1. ActionScript扩展库(*.swc)
flash builder需要在编译器附带参数中加入“-swf-version 13”,否则打包ane时会出现Invalid swc file.The extension NameSpace requires the swf verison to be 13 or lower
2. 本机扩展库(*.jar)
3. 本机扩展的描述性文件(extension.xml)

	com.lang.MyAneExtension
	1.0
	
		
			
				MyAneExtension.jar
				com.lang.MyExtension
				com.lang.MyExtension
			
		
	

4. 从swc文件(第1个文件)中解压得出swf文件 (library.swf)

swc文件中包含library.swf和catalog.xml两个文件,这里我们只使用library.swf

5. 签名文件(*.p12)
正式文件需要花钱买,可以使用Flash或FlashBuilder生成开发版的签名文件
6. adt工具
adt有很多功能,我们这里用到它打包ANE的功能,这个工具在AIR或Flex的SDK中。
如果安装了flash builder,里面有sdk,比如我的sdk在
E:\Program Files\Adobe\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK
E:\Program Files\Adobe\Adobe Flash Builder 4.7\sdks\4.6.0
而adt工具就在其下面的bin文件夹中
我们把必须的1-5文件放在一个文件中,如下图
Flash ANE打包_第1张图片

二.开始执行打包的程序

运行命令行(开始-运行-输入cmd 或 Win+R-输入cmd)并将其路径设置到该文件夹路径上,然后键入:
adt工具路径 -package -storetype pkcs12 -keystore .p12文件名称.p12 -storepass .p12文件的密码 -target ane 需要生成的ane的名称.ane extension.xml -swc swc名称.swc -platform 平台名称 library.swf 本机扩展库
其中-platform有以下选项:
Android-ARM.(居说这里要有".",没有点也打包成功了)
iPhone-ARM
MacOS-x86
Windows-x86

下面是一个完整的例子的写法:
E:\Program" "Files\Adobe\Adobe" "Flash" "Builder" "4.7\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK\bin\adt -package -storetype pkcs12 -keystore lang.p12 -storepass 123 -target ane MyAne.ane extension.xml -swc MyAneExtensionAS.swc -platform Android-ARM. library.swf MyAneExtensionJava.jar

打包的时候可能遇到下面的错误
1、Java不是内部或外部命令,也不是批处理文件
是因为没有安装java运行时环境或adt文件路径不对。
2、Invalid swc file.The extension NameSpace requires the swf verison to be 13 or lower
flash builder需要在编译器附带参数中加入“-swf-version 13”。
方法:打开flash builder-右击扩展ane的库项目-选择“属性”-打开项目属性,如下图-选择ActionScript库编译器-在附加的编译器参数中加入如下参数
Flash ANE打包_第2张图片
3、Could not generate timestamp: handshake alert: unrecognized_name
因为要访问国外的服务器获取时间戳,但又访问不到,访问不到的原因你懂的。解决办法:在后面加入 -tsa none,不去获取时间戳,如...-package -tsa none -storetype pkcs12 ...。
这里只说明如何打包ANE,jar和swc文件的开发可参考其它详细教程


你可能感兴趣的:(AIR)