Exporting AIR Mobile Apps as Desktop Apps

A great question came out of the comments on my last post “Why Can’t I Run My App in the iOS Simulator” asking if it is possible to export the mobile simulator from Flash Builder to allow you to distribute builds for functional testing/validation.   The quick answer is yes (but you don’t really export the simulator).

Let me explain… When running or debugging a mobile application directly within Flash Builder’s environment, you really are running a local desktop application within the ADL executable (AIR Debug Launcher) that is part of the AIR SDK.  The size/layout of ADL in this case is locked to imitate the experience of a particular device/configuration.  The mobile application isn’t running in a device-specific simulator.

All Flex/AIR mobile applications can actually be exported as .AIR files that can run within the desktop runtime environment.  This enables you to easily repurpose an application from mobile to desktop.

Keep in mind, this does not mean there will be a 100% parity between desktop and mobile features, interaction, and performance.  Interaction paradigms, such mouse vs. touch, keyboard vs. hard-keys vs. soft-keys, form factor, as well as hardware (CPU/memory) may all have critical impacts in the overall experience.  Again, if you are targeting mobile devices, then it is imperative that you test your applications on real, physical devices to identify any kind of performance issues, bugs, or UX issues.

To export a mobile application for desktop usage as a .AIR file, just select the “Signed AIR package for installation on desktop” export option within the “Export Release Build” dialog.

Flash Builder Export AIR Options

The exported AIR file will use the standard AIR runtime, inclusive of cross-platform features and the AIR installer.  Note: I used a local dev certificate in this example, with just the default options.

AIR Installer

At runtime, it will look like any other AIR application.  You can configure the AIR app-xml descriptor files to customize it.

Runtime Mobile AIR Application on the Desktop

 

  • David

    Andrew:
    You can export this as an air app, but, just using the app.xml doesn’t give you much control over what the user experience is.

    I had better results creating another project, including the mobile source in the new project, and adding a *ViewNavigator to the new app root mxml component (based upon what *ViewNavigator used in the mobile app), then adding the mobilecomponents.swc and mobile.swc manually to the Air (demo desktop) project.

    This way, you can actually emulate the FlashBuilder adl.exe emulator (adding a NativeMenu to toggle device/orientation, just like the emulator does etc).

    And, you can deliver the same to clients for demo/testing, etc.

    David

    • http://www.tricedesigns.com Andrew

      Thanks David, that is definitely a good a good approach. Thanks for sharing!

  • http://aaronhardy.com Aaron Hardy

    Just what I was looking for. Thanks for posting!

    • http://www.tricedesigns.com Andrew

      Glad it helped!

  • http://www.svingo.com Christian Lehmann

    Thanks. I searched for this option in the debug- / run-settings but, obviously, couldn’t find one. Your article was of great help for me. Best regards, Christian Lehmann