Recently, Adobe seem to have had a habit of changing the namespace used in the AIR descriptor file faster than we can create updates to Amethyst. With an AIR application, you don’t actually run the SWF directly. Instead, you use the ’AIR Debug Launcher’ or adl to to the job. This takes as its input an application descriptor file - an XML file that tells adl all about the SWF that it’s going to run.
The problem is that the namespace needs to match the version of AIR and in the last few months Adobe have been through 2.5, 2.6, 2.7, 3.0 and now 3.1 with 3.2 on the horizon. This means that when you create an AIR application using the Amethyst project creator, you are likely to use the wrong namespace and your AIR application won’t run.
Here, I’ve changed the namespace version to 3.1 which is correct for AIR 3.1.
But when something like this happens, the error messages aren’t very helpful. In fact, they are non-existent. The reason for this is that Amethyst launches adl as a separate process, and while it is possible for us to grab any error messages from the adl process and display them, it’s both complicated and has several downsides and so we don’t do that. In any case, it’s rarely needed since all the debug information comes via TCP/IP and this is handled very well by Amethyst.
But if you do get into a situation where you need to find out what adl is doing before it establishes the TCP/IP link, there’s a trick you can use. When you run an AIR program from Visual Studio, Amethyst displays the command it is going to use in the Output Window
All you need to do is copy the line starting with the double quote, open a command prompt and paste the line into it. Press RETURN and your AIR application will be launched. And if it isn’t you’ll see an error message. The bad news is that it’s going to be an Adobe error message which may leave you little the wiser as to what’s going wrong!