AIR/Flex for iOS & Android app deployment notes

It’s been 2 years since I wrote a native iPhone app and successfully launched it to the App store. I have been working with native Android off and on since July of 2010. Learning (really playing) with these respective platform technologies has been challenging and fun. In researching some new platform strategies for litl, I needed to start checking out some ‘write once’ technologies. I started looking at Corona and AIR especially. Ultimately, my familiarity and access to AIR led me to dive into reusing my Flash chops.. for now. The results, so far, have been staggeringly easy and exciting.

This demo app is pretty simple, using Touch events, some Flex Spark effects for animation and sound playback. The example is less than 100 lines of code. The devices you see are the iPad2 and the yet-to-be-released Samsung 10.1 Tab distributed at GoogleIO.

Overall, the performance on both devices is impressive. I’ve noticed a few more bugs on the Android side, mostly resulting in quirky touch handling and disappearing sprites. Also, the sound takes a little longer to load on the Android tablet. Aside from these issues, it’s been great showing these results to colleagues. I’m hoping to build out the demo app into an actual game. Also, I’d love to get my hands on some other devices (the Playbook and Nook Color) to test this process out more.

Here is an account of the steps I took to complete this experiment, along with approx times. Note the quickness getting this on my Android tablet vs the lengthy process of setting up my MBP to deploy to the iPad2:

Step Time (mins)
1. Downloaded latest FlashBuilder 4.5 with AIR 2.7 ~45
2. Coded initial demo
- Setup Flex Mobile project
- Coding app, mostly remembering how to do simple things in AS3 and Flex
- Launched AIR simulator/emulator to test app
~60
3. Setup Macbook Pro for app deployment to iPad
- Update xCode version
- Update Mac OS version
- Create certificate
- Provision device
~120
4. Actually deploy app to iPad2 via Organizer in Xcode ~5
5. Setup Macbook for app deployment to Android 0
6. Actually deploy app to Samsung 10.1 Tab via FlashBuilder ~1

You’ll find the following links essential to figuring this all out:

Packaging apps for Android (from FlashBuilder):
http://www.adobe.com/devnet/air/articles/packaging-air-apps-android.html

Packaging apps for iOS (from FlashBuilder):
http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html

The provisioning and certificate steps from Apple’s iOS dev center:
http://developer.apple.com/devcenter/ios/ [account required]

AS3 Touch Event handling:
http://help.adobe.com/en_US/as3/dev/WS1ca064e08d7aa93023c59dfc1257b16a3d6-7ffe.html

Leave a Reply