0
votes

I would like to know more about AIR runtime. I knew we can develop an AIR mobile app using Flex framework and Flash Builder IDE. We use the compiler of Flex framework to compile the MXML+ActionScript source to *.SWF file and then we package it to native code *.APK for android and *.IPA for iOS by compiling it again using AIR runtime. Is it true? We can bundle the app with a captive AIR runtime or without bundled AIR runtime, then the application will use shared AIR runtime existed on the device.

But I don't know how Android device can run the AIR application? I know every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently.

How does an AIR mobile use AIR runtime to run in Android? Does it run the same way as a native app that mean it runs in its own process, with it's own intance od the DVM? And then what is AIR runtime role, compared to Android runtime?

Thank you.

1
You can use AIR to create an APK which your Android device will run just like any other Android app.JeffryHouser
Is there any image show AIR runtime architecture? How can it interact with the specific platform such android or iOS.Roni Mikado
I don't understand what you're looking for. AIR is just another way to create an APK. I believe that Java is the native language of Android. Perhaps if you could show me an example image of the Java runtime architecture for Android; I would be able to direct you to an AIR one. AIR can interact with the native OS through many built in APIs. If you need to access something that isn't built in; you can use [or build] something called a Native Extension.JeffryHouser
Is it true that when you package ActionScript code in *.SWF file, the AIR runtime will compile it to native code, for example Java in Android and Objective C in iOS? Thank you.Roni Mikado
I don't understand why you care about such deep implementation details. For iOS; yes that is how it works [because there were limitations in the iOS App store that prevented any other method]. For Android; I thought it somehow bundled the AIR framework with the app. So, AIR is built in Native code and it translates the ActionScript code at runtime. I could be wrong on both counts and I doubt you'll find any documentation on such deep implementation details. A better question to ask is, will AIR fulfill your implementation needs?JeffryHouser

1 Answers

0
votes

The ADT compiler takes the ActionScript Byte Code (ABC) from the SWF and produces native ARM code, which is then packaged into binary bundles for the various platforms. The captive runtime simple means the AIR libs are installed with the package (I believe in its's own sandboxed instance, but I'm not entirely sure).