SapphireSteel Forum
Welcome, Guest. Please login or register.
September 20, 2017, 04:57:25 AM

Login with username, password and session length
Search:     Advanced search
Welcome to the SapphireSteel forum - for discussion of the Sapphire and Amethyst IDEs
4074 Posts in 848 Topics by 708 Members
Latest Member: dcham_inbsys
* Home Help Search Login Register
+  SapphireSteel Forum
|-+  General
| |-+  Amethyst
| | |-+  No AIR Configuration File in the project error message
« previous next »
Pages: [1] Print
Author Topic: No AIR Configuration File in the project error message  (Read 17055 times)
writer1
Newbie
*
Posts: 17


« on: August 04, 2013, 10:02:00 AM »

Hi,

Am trying a basic Flash/AIR project (Flash CS Integration) using the Flash IDE (CS6). When I try to debug, I get an error message: No AIR Configuration File in the project. I am assuming (maybe incorrectly) that it is looking for the XML file which Flash AIR generates on publishing? I've tried to add this in the project itself below the AS file. Nothing seems to get it to be recognized.

Is there a way to add an AIR configuration file in a Flash AIR build? (I have been able to get a pure AS project/Action Script AIR Application to work OK, and debug.)

Any help appreciated.

« Last Edit: August 04, 2013, 11:19:57 AM by writer1 » Logged

writer1
Dermot
Administrator
Hero Member
*****
Posts: 1068


« Reply #1 on: August 04, 2013, 12:21:43 PM »

Yes, it's looking for something like

Code:
<AIRConfigurationFile>config\AirApplication-app.xml</AIRConfigurationFile>

in the project file. Look under Project Properties | Compiler  then the Configuration tab. You should see an AIR configuration file entry box. Try entering the file there (relative to the project base directory). A typical AIR configuration file looks like

Code:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/3.6">
  <id>Wombat</id>
  <versionNumber>1.0.4</versionNumber>
  <filename>Wombat</filename>
  <initialWindow>
    <content>Wombat.swf</content>
    <visible>true</visible>
    <systemChrome>standard</systemChrome>
    <transparent>false</transparent>
    <width>800</width>
    <height>600</height>
  </initialWindow>
</application>

I think you have to add any generated project files manually - but once you've done it once, it should all work from then on.

Dermot
Logged
writer1
Newbie
*
Posts: 17


« Reply #2 on: August 04, 2013, 02:30:33 PM »

Hi Dermot,

Thank you for your reply and suggestions. My sample Flash AIR project properties doesn't have a tab for compiler (available tabs in this project type: Application, Build Events, Flash IDE, Launch, Obfuscator, Profile), so I am unable to add this. I placed the XML file (generated by CS6 publishing) into a config folder and added it to the Amethyst/VS project. But no way to configure the path.

(Maybe I've selected the wrong New Project: Flash/AIR Application--a project for creating a Flash AIR application in CS6? But no ability to configure a path to this XML in the Amethyst/VS project that I can locate.)

If I could configure the path, the XML is:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<application xmlns="http://ns.adobe.com/air/application/3.8">
  <id>FlashAIRApplication4</id>
  <versionNumber>1.0</versionNumber>
  <filename>FlashAIRApplication4</filename>
  <description/>
<!-- To localize the description, use the following format for the description element.<description><text xml:lang="en">English App description goes here</text><text xml:lang="fr">French App description goes here</text><text xml:lang="ja">Japanese App description goes here</text></description>-->
  <name>FlashAIRApplication4</name>
<!-- To localize the name, use the following format for the name element.<name><text xml:lang="en">English App name goes here</text><text xml:lang="fr">French App name goes here</text><text xml:lang="ja">Japanese App name goes here</text></name>-->
  <copyright/>
  <initialWindow>
    <content>FlashAIRApplication4.swf</content>
    <systemChrome>standard</systemChrome>
    <transparent>false</transparent>
    <visible>true</visible>
    <fullScreen>false</fullScreen>
    <aspectRatio>portrait</aspectRatio>
    <renderMode>auto</renderMode>
  </initialWindow>
  <icon/>
  <customUpdateUI>false</customUpdateUI>
  <allowBrowserInvocation>false</allowBrowserInvocation>
</application>

writer1
« Last Edit: August 04, 2013, 03:08:14 PM by writer1 » Logged

writer1
Dermot
Administrator
Hero Member
*****
Posts: 1068


« Reply #3 on: August 04, 2013, 03:09:48 PM »

I can see a couple of problems ...

1) you are correct - there is no compiler tab to allow you to put in the config file. The reason that there isn't is that the Flash compiler creates it. The problem is that it hasn't been created (yet) by the Flash compiler and the check fails. When the compiler has run at least once, the file exists and the check passes! So to fix this, put in a line manually in the project file like this

Code:
<AIRConfigurationFile>config\AirApplication-app.xml</AIRConfigurationFile>

where the file will be created and put in some sort of reasonable file to get past the check. The compiler will overwrite that file with it's generated and you should be OK.

There's also another problem which complains about the tracking file not being found which you might come across. You should be able to ignore this (if you see it) and run the program.

I'll have to think for a bit for the correct fix for these.


Dermot
Logged
writer1
Newbie
*
Posts: 17


« Reply #4 on: August 04, 2013, 04:28:47 PM »

I was temporarily (one time) able to get past this first configuration file error using the suggested solution above. This one time "success" produced another error message:

Quote
exit code: 7
   invalid application descriptor: Unknown namespace: http://ns.adobe.com/air/application/3.8

Experimented further to try to get past this new error, and in the process lost the original project file line placement that had worked once, to this point.

I'm using the AIR SDK 3.8 compiler both in CS6 and in the Amethyst/VS project.

I wonder if by using AirApplication-app.xml to generate an initial file, the compiler is then looking next time for this named file rather than the correct name: FlashAIRApplication4.xml ? (If I edit the project file again, or rename the generated XML, try to make all consistent, then I get the first error-can't find file-again.)

Is this an SDK issue or a namespace issue? How to fix?

« Last Edit: August 05, 2013, 05:06:55 AM by writer1 » Logged

writer1
Dermot
Administrator
Hero Member
*****
Posts: 1068


« Reply #5 on: August 05, 2013, 05:04:13 AM »

I think the problem comes from the compiler that the Flash CS6 is using - it doesn't look like it is 3.8 compatible. It probably needs to be 3.6 or lower. This message comes from the AIR compiler that is actually used by Flash CS6.

After some investigation, it seems that Flash always rewrites the xml config file unless you override this behavior by setting 'use custom application descriptor file' in the AIR settings in Flash CS6.

Try setting this to the application descriptor file that you are using and then try setting the namespace to 3.6 or lower.

We've fixed the missing app descriptor file problem - we'll release a fixed version with our next bug fix release

Dermot
Logged
writer1
Newbie
*
Posts: 17


« Reply #6 on: August 05, 2013, 05:26:45 AM »

Checked further online. This custom option ("use custom application descriptor file") is no longer available in CS6's AIR dialog. It has been removed in CS6.


 
« Last Edit: August 05, 2013, 10:12:38 AM by writer1 » Logged

writer1
Dermot
Administrator
Hero Member
*****
Posts: 1068


« Reply #7 on: August 05, 2013, 11:40:05 AM »

Try moving the application descriptor file to a directory 'config' (say) - and set the AIRConfigurationFile item in the project file to point to that. The CS6 compiler will create it's own version of the application  descriptor in the main source directory (I think) and will not see the dummy one (in the 'config' directory) used to get past the Amethyst problem. Also, delete the CS6 generated one first, just to make sure everything is clean.

I have a feeling that CS6 might not know about AIR 3.8 which may be where the problem is coming from. You may need to downgrade AIR. But I'm not at all sure about that.


I didn't know Adobe had removed that option from CS6 - I use CS5.

Dermot
Logged
writer1
Newbie
*
Posts: 17


« Reply #8 on: August 05, 2013, 12:08:11 PM »

OK gave it a concerted try, but still can't get it to work. Probably related to the newly bundled AIR SDK 3.8 plus ActionScript Compiler (ASC) 2.0. Would prefer to stay with AIR SDK 3.8 (and newer when released) to keep up with new feature releases.

However, in an effort to get it working, I did try  Flex 4.6 (completely re-done using new project) which I believe has AIR 3.4. Still couldn't get it to work.

The only other thing I can think of is that I may be doing something wrong setting it up. If you have CS5 and can post a very basic Flash/AIR project in zip folder (mine was a single button with no actions on a frame 1 stage), it will give me a chance to see how yours is set up, and try to save and run it in CS6 with 3.8.

If I'm not doing something incorrectly, then maybe a work-around can be devised to eliminate the checking or match up the namespaces?

Quote
We've fixed the missing app descriptor file problem - we'll release a fixed version with our next bug fix release
« Last Edit: August 06, 2013, 05:08:35 AM by writer1 » Logged

writer1
Dermot
Administrator
Hero Member
*****
Posts: 1068


« Reply #9 on: August 06, 2013, 12:16:17 PM »

I've thinking about this on and off over the day ...

Amethyst doesn't actually do anything with the Flash CSx IDE except to instruct it to compile the files. Amethyst doesn't invoke the compiler at all. However, it does launch the Flash IDE and the environment that the Flash IDE operates in is inherited from Amethyst. It looks like the Flash IDE is using the wrong compiler (a compiler that doesn't know about the 3.8 namespace) and it may be picking this up from a search path or something. You could try disabling any existing compilers by renaming any SDK directories, etc. on a temporary basis.

I'll try AIR 3.8 in a day or so and post up a small project with my results.

Dermot
Logged
writer1
Newbie
*
Posts: 17


« Reply #10 on: August 06, 2013, 12:27:46 PM »

Thank you for your continued support. If I only use CS6 which I've configured for the AIR 3.8 SDK (which includes its own bundled ASC 2.0 compiler), it compiles OK, producing an APK or, if Windows AIR is chosen, an AIR export. Since I have a range of earlier SDK's available from earlier downloads, I have reset and tried for example 3.4. In Flash, publishing is OK. So, possibly something isn't matching between Amethyst's calling up the Flash IDE's compiler?

Latest Apache Flex 4.10 just released 8/6/13, which, if selected for download during installation, can include AIR SDK 3.8: http://flex.apache.org/installer.html

If you test with 3.8, post a small project, I will try to test it--am showing 2 days left on Amethyst trial.  Smiley

« Last Edit: August 06, 2013, 09:12:58 PM by writer1 » Logged

writer1
Dermot
Administrator
Hero Member
*****
Posts: 1068


« Reply #11 on: August 08, 2013, 09:57:08 AM »

I just downloaded Flash CS6 and it with Amethyst. It worked fine for me ... so think it must be something in your configuration.

Dermot
Logged
writer1
Newbie
*
Posts: 17


« Reply #12 on: August 08, 2013, 09:59:28 AM »

Thank you for your feedback.
Logged

writer1
Pages: [1] Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!