简体   繁体   English

Air应用程序未打包为iOS(air SDK 17)

[英]Air application not packaging for iOS (air sdk 17)

I am posting this question because I stumbled upon the solution, despite not being able to find anything online which helped my specific problem. 我发布此问题是因为尽管无法在线找到有助于解决我特定问题的方法,但我还是偶然发现了解决方案。 I am posting the accidental fix as an answer. 我将意外修复发布为答案。

Problem: I am using adt.jar via cmd and an ANT script to package the air tablet application. 问题:我通过cmd和ANT脚本使用adt.jar打包了air tablet应用程序。 Everything works fine on my workstation, but ipa builds fail on the build machine. 一切在我的工作站上都​​可以正常运行,但是ipa生成在生成计算机上失败。 The build machine is just a re-purposed workstation with more memory, larger hdd, and runs tomcat/hudson. 该构建机器只是一个重新设计的工作站,具有更多的内存,更大的硬盘,并运行tomcat / hudson。 Both environments are Win7 SP1. 两种环境都是Win7 SP1。 By 'everything' I mean apk builds in various configurations, and ipa builds with testing and production provisions files. “一切”是指apk以各种配置构建,而ipa则包含测试和生产配置文件。

Error messages varied a little bit, but here are the common two messages: 错误消息略有不同,但以下是常见的两种消息:

  • Compilation failed while executing : compile-abc 执行时编译失败:compile-abc
  • Error #1042: Not an ABC file. 错误#1042:不是ABC文件。

The stack dump was just a bunch of parameters passed into adt -- application specific. 堆栈转储只是传递给adt的一堆参数-特定于应用程序。

Things I tried based on many internet searches: 我根据许多互联网搜索尝试过的事情:

  1. Update to latest air 17 beta (17.115) Did not work. 更新到最新的air 17 beta(17.115)无效。 I did not expect this to fix my problem, because the PC which successfully builds the ipa does not have this version of the sdk 我没想到这可以解决我的问题,因为成功构建ipa的PC没有此版本的sdk
  2. Hunted down empty case blocks in the code. 搜寻代码中的空白案例块。 There were a couple, but again this did not fix the problem. 有一对,但同样不能解决问题。 Still works on my machine and not the build machine. 仍然可以在我的机器上运行,而不是在构建机器上。 I actually made sure the empty blocks existed on the functional environment to disprove this attempt. 实际上,我确保功能环境中存在空块以证明这一尝试。 I am not using "-useLegacyAOT no", so this should not have helped. 我没有使用“ -useLegacyAOT no”,所以这应该没有帮助。
  3. Compared all relevant environment vars between the two systems, and matched the ones that were different. 比较两个系统之间的所有相关环境变量,并匹配不同的变量。 This did not fix the issue. 这不能解决问题。
  4. Checked the version of jdk pointed to by JAVA_HOME. 检查JAVA_HOME指向的jdk版本。 Both were already "64-Bit Server VM (build 20.45-b01, mixed mode)" aka: jdk-6u45-windows-x64.exe 两者都已经是“ 64位服务器VM(内部版本20.45-b01,混合模式)”,又名:jdk-6u45-windows-x64.exe

Out of desperation, I ran Windows Update on the environment which failed to produce ipa files. 出于绝望,我在无法生成ipa文件的环境上运行Windows Update。 There was a recommended update to the .NET framework which something in my tool chain must depend on. 建议对.NET框架进行更新,这是我的工具链中必须依赖的内容。 This fixed the problem. 这解决了问题。

Microsoft .NET Framework 4.5.2 for Windows 7 x64-based Systems (KB2901983) Windows 7 x64系统的Microsoft .NET Framework 4.5.2(KB2901983)

My personal workstation is always up to date, and I restart often. 我的个人工作站始终是最新的,并且我经常重新启动。 This was not the case for the build workstation. 构建工作站不是这种情况。

EDIT: A second update was also installed at the same time. 编辑:同时也安装了第二个更新。 This could be what fixed things, but I'm not going to question it. 这可能是解决问题的方法,但我不会对此提出质疑。

Update for Windows 7 for x64-based Systems (KB3021917) Windows 7(用于基于x64的系统)更新(KB3021917)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM