Компиляция приложения AIR с помощью Ant Task (не удалось найти WindowedApplication) - PullRequest
1 голос
/ 14 июля 2010

Я пытаюсь скомпилировать свое приложение AIR с помощью Ant, используя задачу Ant mxmlc.Кажется, что он хорошо компилируется, и я получаю .swf, но когда я пытаюсь запустить его с ADL, я получаю сообщение «Класс mx.core :: WindowedApplication не найден».Похоже, библиотеки AIR не включены должным образом.

Вот моя задача mxmlc:

<mxmlc
     file="${MAIN_MXML}" 
     output="${DEPLOY_DIR}/MyApp.swf" 
     compatibility-version="3"
     locale="en_US"
     static-rsls="true"
     debug="${DEBUG_FLAG}"
     optimize="true"
     link-report="${DEPLOY_DIR}/report.xml"
     configname="air">
     <load-config filename="${FLEX_HOME}/frameworks/air-config.xml" /> 
     <library-path dir="${FLEX_HOME}/frameworks/libs" append="true">
          <include name="*.swc" />
     </library-path>
     <library-path dir="${FLEX_HOME}/frameworks/libs/air" append="true">
          <include name="*.swc" />
     </library-path>
     <library-path dir="${FLEX_HOME}/frameworks/locale" append="true">
          <include name="{locale}" />
     </library-path>
     <source-path path-element="${SRC_DIR}" />
</mxmlc>

Есть идеи, почему это происходит?Я пробовал не включать раздел load-config и не включать пути к библиотекам, но это всегда один и тот же результат - он не может найти WindowedApplication.

Спасибо!

1 Ответ

1 голос
/ 20 сентября 2010

Я не пытаюсь работать с ADL, но я компилирую и упаковываю его с помощью ADL.Затем я устанавливаю приложение AIR, и оно работает.

Компиляция

<mxmlc  file="${APP_ROOT}/${modulo}.mxml" keep-generated-actionscript="false" 
                        output="${APP_ROOT}/${modulo}.swf"
                        actionscript-file-encoding="UTF-8"                                          
                        incremental="false" warnings="false" fork="true" maxmemory="512m" >

                    <!-- Get default compiler options. -->                  
                    <load-config filename="${FLEX_HOME}/frameworks/air-config.xml"/>

                    <!-- List of path elements that form the roots of ActionScript
                    class hierarchies. -->
                    <source-path path-element="${FLEX_HOME}/frameworks"/>

                    <!-- List of SWC files or directories that contain SWC files. -->
                    <compiler.library-path dir="${APP_ROOT}" append="true">
                        <include name="libs" />
                     </compiler.library-path>       

                    <locale>es_ES</locale>


                    <!-- Necesario para el source path del Flex Build Paht-->
                    <compiler.source-path path-element='${APP_ROOT}'/>
                    <compiler.source-path path-element='${APP_ROOT}/locale/es_ES'/>

                    <use-network>true</use-network>
                    <debug>false</debug>
                    <optimize>true</optimize>

            </mxmlc>        

Упаковка

<target name="packageModule">

          <echo message="Empaquetando ${modulo} como aplicación AIR...." />
          <exec dir="${DirectorioBase}" executable="${FLEX_HOME}/bin/adt.bat" spawn="false">

              <!--Empaqueta--> 
              <arg value="-package"/>

              <!--Formato del certificado -->
              <arg value="-storetype"/>         
              <arg value="pkcs12"/>

              <!--ruta donde está el certificado -->    
              <arg value="-keystore"/>          
              <arg value="./certificado/antuan.p12"/>

              <!--Password del certificado -->
              <arg value="-storepass"/> 
              <arg value="antuan"/>

              <!--Nombre del archivo AIR a generar -->
              <arg value="${modulo}.air"/>  
              <!--nombre del archivo xml de configuración -->
              <arg value="${modulo}-app.xml"/>           
              <!--Nombre del swf compilado -->
              <arg value="${modulo}.swf"/>

          </exec>
...