I am getting the following error when trying to compile AIR for IOS apps.
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine
Compilation failed while executing : ADT
I had successfully been making AIR for IOS apps without a problem,
now this error has started appearing whenever I try to compile any of my AIR for IOS projcets.
I am using Flash Prfessional CS6 version 188.8.131.529
on Windows 7 Home Premium SP1 64-Bit
Core i& 2.2GHz
Flash is up to date
Java is up to date.
I have recreated the Flash Professional preferences and that did not help.
From previous posts about this kind of error that I have managed to find online, people say that it is to do with having big FLA files in FLash CS5.5.
My FLA files are only just over 10MB and the swfs produced about 1.5MB.
Here is a screen shot
I have read that you can run comand line scripts to compile your .ipa files,
but I would like to use the complier within Flash.
You should update to at least AIR 3.6 if you want the latest iOS compatability. 3.4 took a nose dive for me until I overlayed that. You're using 3.4 so you're familiar with the overlay process correct?
The command line process isn't hard once you've done it a few times but it sure is a pain compared to just pressing publish. The main issue is the CS5.5 publish interface does not understand things like localized app names and descriptions. This requires you to edit the XML yourself to verify all the settings are correct. You should make yourself very comfortable editing the apps XML descriptor.
As for heap allocation, worst case scenario you can try increasing your java Xmx for a bit more RAM but this is very uncommon. You'd edit the Xmx value in this file:
[YourUserFolder]\AppData\Local\Adobe\Flash CS5.5\en_US\Configuration\ActionScript 3.0\jvm.ini
You can try increasing the default 128m to 256m, you have enough RAM to do it. This is really a last ditch effort though, you shouldn't need to do this, your app isn't big at all.
Thank you for the reply, much appreciated, but I'm afraid I still have the problem.
I have tried using AIR 3.6 and AIR 3.2 and have exactly the same error.
I also tried allocating more RAM, which didn't solve the problem.
I'm using CS6 rather than the CS5.5. I don't know if that makes a different, but I would rather not have to run a command line process.
I'm a designer rather than a coder, which is why I'm using Flash to make apps.
If the command line process works, then does that mean that this is a bug in Flash?
Ah, I scanned the post quick and saw CS5.5 above the screenshot. CS6 should be just about the same. Xmx is the same between both (it's for adt). It allocates RAM during compiling.
Does this happen if you open a brand new AIR for iOS project? If not it could be one pesky corrupt library element. With that new project still open, copy all your library assets into it and just try to export again. If it errors, remove library items a little bit at a time, remembering what you remove each time, trying to export. Narrow down and find which item is giving you issues. It might be as simple as re-importing a corrupt graphic. It happens..
Otherwise you don't need more RAM at all for this. I run an old first generation i7 lappie with 4GB RAM exported projects several hundred megs.
I see you have some runtime shared library warnings. Are you trying to exclude them or did you want to merge those? If you wanted to merge you should go to each of them, open the info for them and change from the default "externally link" to the merge into code option and those RSL errors will go away and your library will compile into your project.
Does this project have a lot of external assets, media, 3D? What's the nature of the app?
Thanks again for the reply.
This happens with any app I try to compile.
These are apps that I have compiled before without error.
Also a collegue can compile these apps on his setup, which is similar spec.
There are no external assets, it is a small maping app using GPS.
The only external file is a .as.
I have tried disabling my anti-virus & firewall
I have ininstalled and re-installed Flash and AIR
Thie error is still persisting.
Any more suggestions?
or any suggestions where I might persue this problem further?
If you can take this exact project and compile on a different computer then you've already narrowed it down to a problem on your system.
The error you have is decidedly a Java related issue. Flash just isn't able to utilize the compiler, the Java heap is dieing. Are you getting an error as soon as you start flash about Java not being able to start? If so then someone has already messed with your Xmx value which should be between 128-256. I've gone as high as 384 but after that, even with 32GB workstations I can't get 512 to work. Most likely because it's multiplied by 8 and CS5.5 is a 32bit app. If you set that too high the VM will fail to start during Flash startup and will continue to die during export. You should check for any Xmx/Xms values set and adjust them within range if needed or post what they are here.
Uninstalling Java Runtime Environment/Reinstalling/Updating and repointing toward it would be a good idea. Also make sure there aren't any Windows environment path settings for Java to some outdated JRE install. To do that just click start and type 'envir' and in the list it will say "Edit the system environment variables", select that. At the bottom of the panel click Environment Variables. In the bottom System variables box find the "Path" variable and double-click on the value of it. It's a huge string so it's easiest to just copy it all, open notepad (or any text editor) and paste it in. You'll probably see some Adobe paths in there, beware of any outdated software in there, especially pointing toward a sdk's bin folder. (I just found I never repointed my FlashBuilder 4.6 to 4.7 for example)
I still use CS5.5 myself and what I find errors me all the time is needing to set the file destinations every single time I open the app. Even if I use a relative path I find for some reason the IDE is not actually pointing my files where I expect. It's burned into my workflow that as soon as I open the project I open publish, set the SWF export destination, open AIR publish settings and set the IPA destination, lastly going into the distribution tab and re-pointing to the correct .p12 cert and mobileprovision. If I don't explicitly do this every time I get all sorts of errors.