2013-03-15 8 views
6

Jestem nowym użytkownikiem AdobeAir. Zacząłem od aplikacji helloworld, wykonując poniższy link.Błąd ADL podczas ładowania początkowej zawartości Adobe AIR

http://help.adobe.com/en_US/air/build/WS144092a96ffef7cc4c0afd1212601c9a36f-8000.html 

jestem w stanie skompilować HelloWorld.mxml plik pomyślnie, ale nie jestem w stanie uruchomić aplikację, wykonując polecenia adl HelloWorld-app.xml. komunikat o błędzie mówi .. błąd podczas ładowania początkowej treści.

Również jestem mocowania HelloWorld-app.xml

<?xml version="1.0" encoding="UTF-8"?> 
<application xmlns="http://ns.adobe.com/air/application/1.0"> 
    <id>samples.flex.HelloWorld</id> 
    <version>0.1</version> 
    <filename>HelloWorld</filename> 
    <initialWindow> 
     <content>HelloWorld.swf</content> 
     <visible>true</visible> 
     <systemChrome>none</systemChrome> 
     <transparent>true</transparent> 
     <width>400</width> 
     <height>200</height> 
    </initialWindow> 
</application> 

i HelloWorld.mxml jest

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://`enter code here`ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" 
         title="Hello World"> 

    <s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/> 
</s:WindowedApplication> 

Proszę mi pomóc.

Odpowiedz

6

Zgodnie z this blog post należy sprawdzić, czy linia obszaru nazw w pliku HelloWorld-app.xml jest zgodna z wersją środowiska AIR.

Na przykład, z MXML/ADL narzędzi, które pochodzą z rozkładu Flex 4.6, prawidłowa linia nazw wydaje się być

<application xmlns="http://ns.adobe.com/air/application/3.1"> 

Konieczne jest również, że mxmlc lub amxmlc kompilator nie jest od nowsza SDK niż adl.

Na przykład nie można uruchamiać aplikacji AIR kompilowanych przy użyciu narzędzia Flex 4.6 w języku adl z wersji AIR 2.6, do tego celu potrzebne są narzędzia Flex 4.5.

6

Dziękuję, twoja odpowiedź pomogła mi rozwiązać mój problem z IntelliJ Idea i najnowszym pakietem FLEX/AIR. Aby rozwiązać ten błąd miałem dostarczenie zmodyfikowanego pliku deskryptora aplikacji dla mojego modułu, ponieważ automatycznie wygenerowany jeden miał to ustawienie:

<application xmlns="http://ns.adobe.com/air/application/2.0"> 

Oto kroki potrzebne do utworzenia pliku deskryptora niestandardowych aplikacji:

Plik - Struktura Projext - Moduły - Pakiet AIR - Szablon niestandardowy - Utwórz

Wybierz minimalną wersję AIR (w rzeczywistości dla wersji Flex 4.10 Myślę, że jest to środowisko AIR 3.8), a moduł będzie kompilowany i uruchamiany bez problemów.

patrz ilustracja here

4

liczba nazw AIR znaleźć w xmlns jest tylko połowa historii. To określa minimalną wersję środowiska wykonawczego wymaganą do wyświetlenia treści. Druga połowa tej historii to, z czym skompilowano treść.

Jeśli plik SWF jest skompilowany z nowszą wersją -swf-version niż może obsłużyć adl AIR, zostanie wyświetlony komunikat o błędzie " " podczas ładowania treści początkowej ".

Podniosłem tę tabelę z another answer i dodaje informacje o wersji AIR (source):

-swf-version | Flash Player | AIR 
======================================= 
     9  |  9  | 2.0 ? 
     10  | 10, 10.1 | 2.5 ? 
     11  |  10.2 | 2.6 
     12  |  10.3 | 2.7 
     13  |  11.0 | 3.0 
     14  |  11.1 | 3.1 
     15  |  11.2 | 3.2 
     16  |  11.3 | 3.3 
     17  |  11.4 | 3.4 
     18  |  11.5 | 3.5 
     19  |  11.6 | 3.6 
     20  |  11.7 | 3.7 
     21  |  11.8 | 3.8 
     22  |  11.9 | 3.9 
     23  |  12.0 | 4.0 
     24  |  13.0 | 13.0 
     25  |  14.0 | 14.0 
     26  |  15.0 | 15.0 
     27  |  16.0 | 16.0 
     28  |  17.0 | 17.0 
     29  |  18.0 | 18.0 
     30  |  19.0 | 19.0 
     31  |  20.0 | 20.0 

można określić -swf-version pliku SWF za pomocą programu narzędziowego swfdump zawartych w Flex i AIR SDK.

> swfdump example.swf | grep -i '<swf' 
<swf xmlns='http://macromedia/2003/swfx' version='18' framerate='24' size='10000x7500' compressed='false' > 

Powyższy SWF jest kompilowany z -swf-version=18 i stąd wymagają AIR 3.5 lub nowszej, a xmlns="http://ns.adobe.com/air/application/3.5"

Należy również pamiętać, że nowe narzędzia mogą nadal kierować starsze -swf-versions. Możesz więc tworzyć pliki SWF zgodne ze starszymi odtwarzaczami AIR i Flash. Po prostu należy sprawdzić interfejsy API używane w dokumentacji. Niektóre nowsze interfejsy API (takie jak BitmapData.drawWithQuality) zawierają wymagania dotyczące minimalnej wersji odtwarzacza pod numerem Runtime Version.