使用flash builder 打包ANE时或者打包ipa时候常常会遇到AIRSDK版本低的问题,然而flash builder4.7默认使用的AIRSDK是3.4而flash builder4.7 中 Flex SDK中默认的AIRSDK是3.1,大家可能有疑问怎么有二个AIRSDK。我的理解是Flex SDK中的AIRSDK是低版本,低版本AIRSDK建立的ANE可以在高版本AIRSDK上跑,所以用Flex SDK中的AIRSDK打包ANE,之后用flash builder4.7默认使用的高版本AIRSDK3.4运行。二个SDK的路径为 /Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK ,/Applications/Adobe Flash Builder 4.7/sdks/4.6.0 。第一个路径仅仅是ARISDK,第二个路径是Flex SDK包含AIRSDK,可以运行adt -version查看版本。
言归正传如何升级AIRSDK,第一步首先下载新版AIRSDK,现在Mac上最新版本是AIRSDK3.8。下载文件名为AIRSDK_Compiler.tbz2解压,tar jxvf AIRSDK_Compiler.tbz2。把解压后文件都放在一个目录下AIRSDK3.8。之后分别拷贝/Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK 和/Applications/Adobe Flash Builder 4.7/sdks/4.6.0到AIRSDK3.8相同目录下,之后合并运行命令ditto "AIRSDK3.8" "AIRSDK" 和ditto"AIRSDK3.8" "4.6.0" 之后用合并AIRSDK替换/Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK 用合并的 "4.6.0"替换 /Applications/Adobe Flash Builder 4.7/sdks/4.6.0, 这样新版本AIRSDK3.8就替换了旧版AIRSDK,还有最后一步操作,新版AIRSDK3.8使用的是FlashPlayer 11.8那么就应该修改对应的swf-version为21,就是修改/Applications/Adobe Flash Builder 4.7/sdks/4.6.0/frameworks下flex-config.xml ,air-config.xml ,airmobile-config.xml把FlashPlayer 标签改为11.8,swf-version标签值改为21.重启flash builder大功告成。最好参照官网。