UPDATE: Adobe AIR 2.7 has been released with much improvement for IOS. Please read this post.
There are a lot of neat things going on with Adobe AIR. They recently released version 2.6 along with a new version of Flash. Flash CS5 had some early support for compiling iOS applications, but CS 5.5 adds support for Android apps as well.
This post assumes you have already created a developer account and both apple and android marketplace. If you need help creating the necessary files check out Adobes great documentation:
Getting started building AIR applications for the iPhone
Note you will need to know the location of Air 2.6. If you have installed Flash CS 5.5 it is located here:
C:\Program Files (x86)\Adobe\Adobe Flash CS5.5\AIR2.6\bin
You will also need to create a XML file that contains the most basic app settings. Here is my sample XML:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<application xmlns="http://ns.adobe.com/air/application/2.6">
<id>com.mycompany.mobile</id>
<versionNumber>1.0</versionNumber>
<filename>demo</filename>
<description/>
<copyright/>
<initialWindow>
<content>demo.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<fullScreen>false</fullScreen>
<renderMode>auto</renderMode>
<autoOrients>false</autoOrients>
<aspectRatio>landscape</aspectRatio></initialWindow>
<icon/>
<customUpdateUI>false</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<iPhone>
<InfoAdditions>
<![CDATA[<key>UIDeviceFamily</key><array><string>2</string></array>]]>
</InfoAdditions>
<requestedDisplayResolution>standard</requestedDisplayResolution>
</iPhone>
<android>
<manifestAdditions>
<![CDATA[<manifest>
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>]]>
</manifestAdditions>
</android>
</application>
Make sure to change the name of the .swf file to match your Xcelsius swf file. Then save the XML file in the same directory as AIR. NOTE: You will also need to move your .swf file to the same directory as AIR. (C:\Program Files (x86)\Adobe\Adobe Flash CS5.5\AIR2.6\bin)
Next create some icons and place them in an icons folder. They need to be PNGs. I created some blank images and called them:
Icon512.png (512×512)
Icon57.png (57×57)
Icon29.png (29×29)
And you also need a Default.png (320×480) (the splash image that shows when app is loading)
Fire up command prompt from the AIR directory and run the following command to convert the swf to an iOS ipa file:
adt -package -target ipa-test -storetype pkcs12 -keystore iphone_dev.p12 -storepass yourcertpasswordhere -provisioning-profile COMPANY.mobileprovision demo.ipa demo.xml demo.swf icons/Icon512.png icons/Icon57.png icons/Icon29.png Default.png
You can install the ipa file by adding it to your iTunes library and syncing your device.
To create the android file:
adt -package -target apk-debug -storetype pkcs12 -keystore android.p12 -storepass YOURPASS demo.apk demo.xml demo.swf icons
To install the android file you can upload the apk file to your webserver and just browse to it on your device. Note you may need to allow unsigned apps to run from your settings.
Also I created the signed android.p12 file by using Flash CS5.5 and creating a blank Android project going to Publish Settings and using the wizard it provides.
This is a really rough explanation. Note I don’t think this will work with really advance Xcelsius files. I tested it on some simple files and it works fine, but is a little slow to start.
Related links:
Xcelsius Running on Apple Devices
Air for IOS Including files in IPA (SWF)
Packaging a mobile AIR application