Search code examples
iosactionscript-3air

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. Everything works fine on my workstation, but ipa builds fail on the build machine. The build machine is just a re-purposed workstation with more memory, larger hdd, and runs tomcat/hudson. Both environments are Win7 SP1. By 'everything' I mean apk builds in various configurations, and ipa builds with testing and production provisions files.

Error messages varied a little bit, but here are the common two messages:

  • Compilation failed while executing : compile-abc
  • Error #1042: Not an ABC file.

The stack dump was just a bunch of parameters passed into adt -- application specific.

Things I tried based on many internet searches:

  1. Update to latest air 17 beta (17.115) Did not work. 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
  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.
  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. Both were already "64-Bit Server VM (build 20.45-b01, mixed mode)" aka: jdk-6u45-windows-x64.exe

Solution

  • Out of desperation, I ran Windows Update on the environment which failed to produce ipa files. There was a recommended update to the .NET framework which something in my tool chain must depend on. This fixed the problem.

    Microsoft .NET Framework 4.5.2 for Windows 7 x64-based Systems (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)