3 Replies Latest reply on Feb 24, 2011 10:16 AM by Uonze26

    Air (ADT) changing file permissions on executable files

    braitsch Level 1

      OK, I'm updating this with some more info so hopefully you guys can help me figure out what's going on here.

       

      I'm trying to execute MacOSX shell scripts from within an Air2.0 app using the new NativeProcess API and it looks like ADT is changing the file permissions on my resource files so my Air app cannot execute them.

       

      Here's my setup.

       

      I've got a bin directory with my swf, app-descriptor file and a directory in it called "sh" that contains my shell scripts.

      As you can see from the attached screenshot this "sh" dir lives at /Users/quietless/Code/flash/client-work/GitMe/bin/sh

       

      Also note that I've run chmod 777 on all of the assets in this "sh"  directory so they can be executed by anybody.

      1.png

       

      When I go to package my air app I tell ADT to include the assets in my bin dir which it does just fine.

       

              <java jar="${ADT}" fork="true" failonerror="true" maxmemory="512m">
                  <arg value="-package"/>
                  <arg value="-storetype"/>
                  <arg value="${STORETYPE}"/>
                  <arg value="-keystore"/>
                  <arg value="${KEYSTORE}"/>
                  <arg value="-storepass"/>
                  <arg value="${CERT_PASSWORD}"/>
                  <arg value="${RELEASE_DIR}/${PROJECT_NAME}.air"/>
                  <arg value="${DESCRIPTOR_FILE}"/>
                  <arg value="-C"/>
                  <arg value="${BIN_DIR}"/>
                  <arg value="."/>
              </java>

       

      Now when I install the app and run it, I get errors that the executable property of my NativeProcessStartupInfo is null.

       

      I have traced out the path to my shell script a million times and confirmed that it's pointing to the correct place inside of :

      GitMe.app/Contents/Resources/sh/BashOutput.sh

       

      But I just discovered that when I cd into the installed application itself the permissions on the shell scripts inside the actual .air

      app are set to "-rw-r--r--" which is leading me to believe that my air app cannot execute them?!

       

      Contents of directory "sh" within the packaged air application:

      Screen shot 2010-08-23 at 2.18.23 PM.png

       

      I'm totally stuck here and have been banging on this for hours.

       

      Why is ADT changing the permissions on my included resource files?

       

      Any thoughts would be very much appreciated.

       

      Thanks,

      Stephen

       

      Message was edited by: braitsch