If you’re still working on projects powered by Adobe AIR (now actively developed by HARMAN) and Apache Flex (formerly Adobe Flex), you’ll eventually need to merge the Flex SDK and AIR SDK together into a single bundle. Back in the day, you could download the Adobe Flex SDK and the latest version of the AIR SDK was already included. Later, after Adobe donated Flex to Apache, they provided instructions to merge or overlay the Flex SDK with the Adobe AIR SDK. Those instructions may still work, if you already have an existing merged SDK, and you simply want to update AIR. However, if you’re starting from scratch (such as if you got a new computer, and you need to download everything fresh), it’s a little more complicated. Luckily, I’ve put together a little Ant script and this guide to help make things easier. Let’s get started.
Things to download
First, if you don’t have them already, you’ll need to download a couple of things. First is Java (I recommend downloading OpenJDK from Adoptium), which is used by the various command line tools in the Flex and AIR SDKs. You’ll also need to download Apache Ant, which is used to run the Flex SDK’s installer script that gets a few other third-party dependencies and prepares the SDK for use in your favorite IDE. You can download Ant directly from Apache, or (if you prefer) you may be able to get Ant from your favorite package manager, such as Homebrew on macOS or Chocolatey on Windows.
Then, you’ll need to download the two SDKs:
- Apache Flex binary distribution
- AIR SDK for Flex Developers (don’t get the version that includes an ActionScript compiler)
Finally, you’ll need harman-installer.xml, which is a script that I created to enhance the Flex SDK installer script to support HARMAN’s version of Adobe AIR.
Merging the Flex SDK and AIR SDK
Extract the Apache Flex binary distribution .zip or .tar.gz file into a directory. I like to give it a name that includes both SDKs, like apache-flex-4.16.1-air-50.2.4.4.
Then, copy the AIRSDK_Flex_Windows.zip or AIRSDK_Flex_MacOS.zip or AIRSDK_Flex_Linux.zip file into the directory where you extracted the Flex SDK binary distribution. Don’t extract the AIR SDK .zip file. The installer script will do it!
Copy harman-installer.xml into the same directory.
Open a terminal or command prompt, and navigate into the root directory of the Flex SDK that contains harman-installer.xml and the AIR SDK .zip file:
cd apache-flex-4.16.1-air-50.2.4.4
Then, run the following command (be sure to replace 50.2 with the correct AIR SDK major and minor version that you downloaded):
ant -f harman-installer.xml -Dair.sdk.version=50.2
This harman-installer.xml script may take a couple of minutes to complete. If the script ends with a BUILD SUCCESSFUL
message, then everything worked correctly, and you’re ready to use your new merged Flex SDK and AIR SDK in your favorite IDE or editor!
At this point, you can also can safely delete the AIR SDK .zip file and harman-installer.xml from your Flex SDK. They’re no longer needed.
Troubleshooting
If the harman-installer.xml script completes with BUILD FAILED
instead, it should provide you with some sort of clue to help with troubleshooting. For instance, the following error explains that you probably copied AIRSDK_Flex_MacOS.zip to the wrong location:
BUILD FAILED
/apache-flex-4.16.1-air-50.2.4.4/harman-installer.xml:95: Missing /apache-flex-4.16.1-air-50.2.4.4/AIRSDK_Flex_MacOS.zip
If your terminal or command prompt session can’t find the ant executable, you have a couple of options. 1) You could add the directory containing the ant executable to your operating system’s PATH
environment variable (be sure to close your terminal and open a new one). Or, 2) if you prefer, you can use the absolute path to ant, wherever you happened to install it.
/opt/homebrew/bin/ant -f harman-installer.xml -Dair.sdk.version=50.2
You will need the JDK installed if you are using windows, otherwise ant won’t even print the version number. Other than that, this was great, thank you Josh!
In fact, you need a JDK to use both the Flex SDK and the AIR SDK on all operating systems, including Windows, macOS, and Linux. The compilers and other command line tools in the SDKs were actually written in Java. I’ll update the post to make that more clear. I guess I assumed it would be obvious, if you had already been working with Flex, AS3, and AIR before.
Recently inherited a codebase so I am starting from scratch. This post was very helpful.
If you are having any trouble finding old documentation, you might find my archive useful:
https://gist.github.com/joshtynjala/77aebc21ce9d206b0b82b6330d717461