是的,就 IDE 从何处获取其 AIRSDK(主要是 adt 命令调用)文件而言,覆盖指南是错误的。为了查看您的 IDE 从哪里获取它,您必须查看启动命令,以执行此操作
只需选择您的项目,然后单击顶部栏中的项目菜单项 -> 导出版本构建 -> 在窗口中选择您的项目 -> 目标版本 IOS -> 单击下一步 -> 现在将构建 swf 文件(可能需要几秒到几分钟,具体取决于项目大小)
成功构建后,如果有任何警告或错误,您将弹出一个显示警告的窗口(如果您收到错误,则无法进行下一步,因此请修复错误)。
在下一个窗口中单击 Native Extensions 选项卡->单击底部的自定义启动按钮->打开一个新窗口->单击右下角的显示命令按钮->您将看到类似这样的内容
/usr/bin/java -d32 -jar /Applications/Adobe Flash Builder 4.7/sdks/4.6.0/lib/adt.jar -package -target ipa-ad-hoc -hideAneLibSymbols no -provisioning-profile path-to-your -provisioning file
-storetype pkcs12 -keystore path-to-your-ios-developer-certificate -storepass Main.ipa Main-app.xml .DS_Store assets Default-568h@2x.png Main.swf -extdir path-to- your-外部库
如果您查看正在调用的 adt,您会发现它没有使用那个,eclipse/plugins/com.adobe.flash.compiler_xxx/AIRSDK/bin/adt.jar
因此您在 Eclipse 插件下的 AIRSDK 文件夹中拥有哪个版本的 air sdk 并不重要,因为您的 IDE 根本不使用这些文件。不知道为什么 Adobe 会这样误导所有人。
因此,为了让您正确更新项目正在使用的 AIR sdk,您需要将flex compiler
默认的 4.6.0(使用 AIR sdk 版本 3.1 afaik)更改为最新的 AIR sdk 或您的 air sdk 版本选择,为此,您需要按照以下步骤操作
它会打开一个如上图所示的页面。如果您单击黄色的立即下载按钮,它将关闭合并的 air sdk + 编译器文件。您需要的只是air sdk,因此在黑色圆圈区域中单击MAC链接。(对于mac ofc)
一旦你完成下载,解压它(比如说~/Desktop/AIR21.0/)打开你的终端类型
cd /Applications/Adobe\ Flash\ Builder\ 4.7/sdks
在这里,对于不同的 flex 编译器版本,您将拥有不同的文件夹,只需获取最新的(在我的情况下为 4.6.0)并复制它并将复制的目录重命名为 4.6.0_AIR21.0,您可以使用以下命令
cp -r 4.6.0 4.6.0_AIR21.0
这将创建 4.6.0 flex 编译器的副本,现在您所要做的就是更新 air sdk 文件,这可以通过使用rsync
命令来完成。
首先cd
到您提取下载的air sdk的目录,(在我的情况下为〜/Desktop/AIR21.0/)cd ~/Desktop/AIR21.0
然后键入以下命令将该目录中的文件同步到4.6.0_AIR21.0目录(rsync所做的是它会覆盖所有文件,并且不会删除已经存在的文件)。
rsync ./* -avl /Applications/Adobe\ Flash\ Builder\ 4.6/sdks/4.6.0_AIR21.0/
然后在 frameworks 目录中编辑以下文件,
- 空气配置.xml
- airmobile-config.xml
- 弹性配置.xml
更新 xml 文件:
<target-player>21.0</target-player>
<swf-version>18</swf-version>
在 Flash Builder 中,转到 Preferences > Flash Builder > Installed Flex SDKs,添加新的 4.6.0_AIR21.0 路径,为其命名并根据需要将其设为默认 sdk。
不要忘记更新您的项目 xml 命名空间:
<application xmlns="http://ns.adobe.com/air/application/21.0">