Maven FlexMojos создает пустое приложение Air.Конечный продукт не имеет окна.Создает SWF, но не открывает его - PullRequest
0 голосов
/ 21 ноября 2011

Задача

Когда я запускаю свое воздушное приложение (скомпилированное с помощью flexmojos), оно кажется «пустым» - окна вообще нет. Он отлично работает при компиляции из Flash Builder.

Фон

Я компилирую приложение Adobe Air, используя плагин Maven flexmojos для Mac OS X: Lion. Он успешно создает файл SWF и файл AIR.

  • Когда я дважды щелкаю SWF-файл, он открывается очень хорошо
    (и выдает ошибку с ожидаемой ошибкой - поскольку она не работает в среде AIR)

  • Когда я дважды щелкаю файл AIR, окно не открывается!
    (Я вижу имя моего приложения в строке меню Mac, но нет окна приложения и ошибок)

Когда я смотрю под /Applications/MyApplication.app/Contents/Resources
Я вижу следующие файлы:

META-INF            MyAppMainAir.swf
MyAppMainAir.css    mimetype

Файл swf имеет правильный размер и открывается, как и ожидалось.

Фрагмент POM

<plugin>
            <groupId>org.sonatype.flexmojos</groupId>
            <artifactId>flexmojos-maven-plugin</artifactId>
            <version>${flexmojos.version}</version>
            <configuration>
            <flexBuilderCompatibility>true</flexBuilderCompatibility>
                <sourceFile>${application.name}.mxml</sourceFile>
                <finalName>${application.name}</finalName>
                <descriptorTemplate>${project.build.sourceDirectory}/${application.name}-app.xml</descriptorTemplate>
                <storepass>${keystore.password}</storepass>
                <includeStylesheets>
                    <stlyesheet>
                        <name>${application.name}.css</name>
                        <path>${application.name}.css</path>
                    </stlyesheet>
                </includeStylesheets>
                <licenses>
                    <flexbuilder3>${flex.license}</flexbuilder3>
                </licenses>
                <targetPlayer>10.2.0</targetPlayer>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>sign-air</goal>
                    </goals>
                </execution>
            </executions>
</plugin>

Вопрос

Почему мой SWF-файл создается должным образом, но мое приложение AIR не открывает окно? Когда я собираю / запускаю приложение из Flash Builder, оно отлично работает.

Любой вклад / совет приветствуется!

1 Ответ

1 голос
/ 05 декабря 2011

Решение

После изучения этого в группе Google FlexMojos оказывается, мне нужно было установить следующую опцию:

<swfVersion>11</swfVersion>

По какой-то причине это было по умолчанию 10, что вызвало проблему. Добавьте эту строку, все работает отлично!

Альтернативное исправление

Кроме того, я также смог решить проблему, загрузив файл air-config.xml:

<loadConfig>${flex.sdk}/frameworks/air-config.xml</loadConfig>

Этот файл также можно найти в хранилище:

${path_to_m2_repo}/com/adobe/flex/framework/framework/${flex.sdk.version}/configs_zip/air-config.xml

, где flex.sdk.version=4.5.1.21328, например.

<Ч />

Другая проблема невидимого окна

Также, чтобы появилось начальное окно, вам может потребоваться настроить значения дескриптора, установив visible = true:

<initialWindow>
    <content>Main.swf</content>
    <autoOrients>false</autoOrients>
    <fullScreen>false</fullScreen>
    <visible>true</visible>
</initialWindow>

Ошибка, которую я имел, в сочетании с этим значением false привела к тому, что окно вообще не появилось, что сбивало с толку. После установки visible = true окно по крайней мере будет отображаться, но все содержимое искры отсутствует. Как только ошибка была исправлена, я мог установить значение видимости обратно в false.

...