AIR Debug Launcher (ADL)

Program uruchamiający ADL (AIR Debug Launcher) służy do uruchamiania aplikacji w formacie SWF oraz w formacie HTML podczas programowania. Za pomocą programu ADL można uruchamiać aplikacje bez wcześniejszego pakowania i instalowania. Domyślnie program uruchamiający ADL korzysta ze środowiska wykonawczego dostępnego z SDK, co oznacza, że nie ma konieczności osobnego instalowania środowiska wykonawczego w celu korzystania z ADL.

Program ADL wyświetla instrukcje trace oraz błędy środowiska wykonawczego na standardowym wyjściu, ale nie obsługuje punktów zatrzymań ani innych funkcji debugowania. Debugera Flash (lub zintegrowanego środowiska programistycznego, takiego jak program Flash Builder) można używać w przypadku złożonych problemów programistycznych.

Uwaga: Jeśli instrukcje trace() nie są wyświetlane w konsoli, upewnij się, że w pliku mm.cfg nie jest ustawiony parametr ErrorReportingEnable ani TraceOutputFileEnable . Więcej informacji o lokalizacji tego pliku na poszczególnych platformach zawiera artykuł Edytowanie pliku mm.cfg .

Środowisko AIR obsługuje debugowanie bezpośrednio, dlatego nie jest wymagana wersja środowiska wykonawczego z debugerem (jak w przypadku programu Adobe® Flash® Player). W celu przeprowadzenia debugowania z wiersza poleceń można użyć debugera Flash Debugger oraz narzędzia AIR Debug Launcher (ADL).

Debuger Flash Debugger jest dystrybuowany w katalogu Flex SDK. Rodzime wersje, takie jak fdb.exe dla systemu Windows, znajdują się w podkatalogu bin. Wersja Java znajduje się w podkatalogu lib. Program AIR Debug Launcher, adl.exe, znajduje się w katalogu bin instalacji Flex SDK. (Nie ma osobnej wersji Java).

Uwaga: Aplikacji AIR nie można uruchomić bezpośrednio za pomocą fdb, ponieważ fdb podejmuje próbę uruchomienia jej w programie Flash Player. Zamiast tego należy zezwolić, aby aplikacja AIR nawiązała połączenie z trwającą sesją fdb.

Korzystanie z programu ADL

Aby uruchomić aplikację za pomocą programu ADL, należy użyć następującego schematu:

adl application.xml

Fragment application.xml oznacza plik deskryptora dla aplikacji.

Oto pełny opis składni wywołania programu ADL:

adl     [-runtime runtime-directory] 
    [-pubid publisher-id] 
    [-nodebug] 
    [-atlogin] 
    [-profile profileName] 
    [-screensize value] 
    [-extdir extension-directory] 
    application.xml 
    [root-directory] 
    [-- arguments]

Elementy w nawiasach kwadratowych ([]) są opcjonalne.

-runtime runtime-directory Określa katalog zawierający środowisko wykonawcze, jakie będzie używane. Jeśli nie zostanie określony, wówczas katalog środowiska wykonawczego będzie należał do tego samego folderu SDK, z którego używany jest program ADL. Jeśli program uruchamiający ADL zostanie przeniesiony ze swojego folderu SDK, należy określić katalog środowiska wykonawczego. W systemach Windows i Linux należy określić katalog zawierający katalog Adobe AIR . W systemie Mac OS X należy określić katalog zawierający Adobe AIR.framework .

-pubid publisher-id Przypisuje określoną wartość jako identyfikator wydawcy uruchamianej aplikacji AIR. Określenie tymczasowego identyfikatora wydawcy umożliwia testowanie funkcji w aplikacji AIR, np. komunikowanie przez połączenie lokalne, które korzysta z id. wydawcy w celu jednoznacznego zidentyfikowania aplikacji. Począwszy od wersji AIR 1.5.3 możliwe jest także określenie identyfikatora wydawcy w pliku deskryptora aplikacji (nie należy wówczas korzystać z tego parametru).

Uwaga: Począwszy od wersji AIR 1.5.3 identyfikator wydawcy nie jest obliczany automatycznie i przypisywany do aplikacji AIR. Identyfikator wydawcy można określić podczas tworzenia aktualizacji istniejącej aplikacji AIR, ale nowe aplikacje nie potrzebują i dla nich nie należy określać identyfikatora wydawcy.

-nodebug Wyłącza obsługę debugowania. Jeśli ten parametr jest używany, wówczas proces aplikacji nie może się połączyć z debugerem Flash, co powoduje zatrzymanie wyświetlania okien dialogowych z informacjami o nieobsłużonych wyjątkach. (Jednak instrukcje trace nadal są wyświetlane w oknie konsoli). Wyłączenie debugowania umożliwia szybsze działanie aplikacji, a ponadto powoduje wierniejsze emulowanie trybu wykonywania zainstalowanej aplikacji.

- atlogin Symuluje uruchamianie aplikacji przy logowaniu. Ta flaga umożliwia testowanie logiki aplikacji wykonywanej dopiero po zalogowaniu się użytkownika. Gdy używana jest opcja -atlogin , właściwość reason obiektu InvokeEvent wywoływanego w aplikacji będzie miała wartość login , a nie standard (chyba że aplikacja jest już uruchomiona).

-profile profileName Powoduje debugowanie aplikacji przy użyciu określonego profilu. Opcja profileName może mieć jedną z następujących wartości:

  • desktop

  • extendedDesktop

  • mobileDevice

Jeśli deskryptor aplikacji zawiera element supportedProfiles , profil określany za pomocą opcji -profile musi występować na liście obsługiwanych pozycji. Jeśli flaga -profile nie została użyta, pierwszy profil w deskryptorze aplikacji jest używany jako aktywny profil. Jeśli deskryptor aplikacji nie zawiera elementu supportedProfiles i nie została użyta flaga -profile , używany jest profil desktop .

Więcej informacji zawierają rozdziały supportedProfiles i Profile urządzeń .

-screensize wartość Symulowany rozmiar ekranu używany podczas uruchamiania aplikacji o profilu mobileDevice na komputerze stacjonarnym. Należy podać rozmiar ekranu jako predefiniowany typ ekranu lub jako wymiary w pikselach (określając normalną szerokość i wysokość układu pionowego i szerokość oraz wysokość pełnego ekranu). Aby określić wartość jako typ, należy użyć jednego z następujących predefiniowanych typów ekranu.

Typ ekranu

Szerokość x wysokość (normalnie)

Szerokość x wysokość (pełny ekran)

480

720 x 480

720 x 480

720

1280 x 720

1280 x 720

1080

1920 x 1080

1920 x 1080

Droid

480 x 816

480 × 854

FWQVGA

240 x 432

240 x 432

FWVGA

480 × 854

480 × 854

HVGA

320 x 480

320 x 480

iPad

768 x 1004

768 x 1024

iPad (Retina)

1536 x 2008

1536 x 2048

iPhone

320 x 460

320 x 480

iPhone (Retina)

640 x 920

640 x 960

iPhone 5 (Retina)

640 x 1096

640 x 1136

iPhone6

750 x 1294

750 x 1334

iPhone6Plus

1242 x 2148

1242 x 2208

iPod

320 x 460

320 x 480

iPod (Retina)

640 x 920

640 x 960

iPod 5 (Retina)

640 x 1096

640 x 1136

Nexus One

480 × 762

480 x 800

QVGA

240 x 320

240 x 320

Samsung Galaxy S

480 × 762

480 x 800

Samsung Galaxy Tab

600 x 986

600 x 1024

WQVGA

240 x 400

240 x 400

WVGA

480 x 800

480 x 800

Aby bezpośrednio określić wymiary ekranu w pikselach, należy użyć następującego formatu:

widthXheight:fullscreenWidthXfullscreenHeight

Zawsze należy określać wymiary w pikselach układu pionowego — z wartością szerokości mniejszą niż wartość wysokości. Można na przykład zdefiniować ekran telefonu NexusOne w następujący sposób:

-screensize 480x762:480x800

-extdir extension-directory Katalog, w którym środowisko wykonawcze powinno szukać rozszerzeń natywnych. Ten katalog zawiera odpowiedni podkatalog dla każdego rozszerzenia natywnego używanego przez aplikację. Każdy z tych podkatalogów zawiera rozpakowany plik ANE rozszerzenia. Na przykład:

C:\extensionDirs\ 
    extension1.ane\ 
        META-INF\ 
            ANE\ 
                Android-ARM\ 
                    library.swf 
                    extension1.jar 
                extension.xml 
            signatures.xml 
        catalog.xml 
        library.swf 
        mimetype 
    extension2.ane\ 
        META-INF\ 
            ANE\ 
                Android-ARM\ 
                    library.swf 
                    extension2.jar 
                extension.xml 
            signatures.xml 
        catalog.xml 
        library.swf 
        mimetype 
    

W przypadku używania parametru -extdir należy wziąć pod uwagę następujące kwestie:

  • Polecenie ADL wymaga, aby każdy z określonych katalogów miał rozszerzenie nazwy pliku ane. Jednak część nazwy pliku przed sufiksem „.ane” może być dowolną prawidłową nazwą pliku. Nie musi być ona zgodna z wartością elementu extensionID w pliku deskryptora aplikacji.

  • Parametr -extdir można określić więcej niż raz.

  • Zastosowania parametru -extdir są różne w narzędziach ADT i ADL. W narzędziu ADT określa on katalog zawierający pliki ANE.

  • Katalogi rozszerzeń można również określić za pomocą zmiennej środowiskowej AIR_EXTENSION_PATH . Zobacz Zmienne środowiskowe narzędzia ADT .

application.xml Plik deskryptora aplikacji. Zobacz Pliki deskryptora aplikacji AIR . Deskryptor aplikacji jest jedynym wymaganym parametrem programu ADL i w większości przypadków jedynym potrzebnym parametrem.

root-directory Określa katalog główny aplikacji, która ma być uruchamiana. Jeśli katalog nie jest uruchomiony, zostanie wykorzystany katalog zawierający plik deskryptora aplikacji.

-- arguments Wszystkie znaki, jakie pojawią się za znakami „--”, zostaną przekazane do aplikacji jako argumenty wiersza poleceń.

Uwaga: Po uruchomieniu aplikacji AIR, która już działa, nie dochodzi do uruchomienia nowej instancji tej aplikacji. Zamiast tego zdarzenie invoke jest wywoływane do działającej aplikacji.

Przykłady ADL

Uruchomienie aplikacji w katalogu bieżącym:

adl myApp-app.xml

Uruchomienie aplikacji w podkatalogu katalogu bieżącego:

adl source/myApp-app.xml release

Uruchomienie aplikacji i przekazanie dwóch argumentów wiersza poleceń: „tick” i „tock”.

adl myApp-app.xml -- tick tock

Uruchomienie aplikacji przy użyciu określonego środowiska wykonawczego:

adl -runtime /AIRSDK/runtime myApp-app.xml

Uruchomienie aplikacji bez obsługi debugowania:

adl -nodebug myApp-app.xml

Uruchomienie aplikacji o profilu dla urządzeń przenośnych i zasymulowanie rozmiaru ekranu urządzenia Nexus.

adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml

Uruchomienie aplikacji za pomocą programu Apache Ant. (Ścieżki podane w przykładzie dotyczą systemu Windows).

<property name="SDK_HOME" value="C:/AIRSDK"/> 
<property name="ADL" value="${SDK_HOME}/bin/adl.exe"/> 
<property name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/> 
<property name="APP_DESCRIPTOR" value="${APP_ROOT}/myApp-app.xml"/> 
 
<target name="test"> 
    <exec executable="${ADL}"> 
        <arg value="${APP_DESCRIPTOR}"/> 
        <arg value="${APP_ROOT}"/> 
    </exec>  
</target>

Kody wyjścia i kody błędów w programie ADL

Poniższa tabela przedstawia kody wyjścia wyświetlane przez program ADL:

Kod wyjścia

Opis

0

Pomyślne uruchomienie. Program ADL wyłącza się po wyłączeniu aplikacji AIR.

1

Pomyślne wywołanie działającej aplikacji AIR. Program ADL wyłącza się natychmiast.

2

Błąd składni. Argumenty wprowadzone do ADL są niepoprawne.

3

Nie można znaleźć środowiska wykonawczego.

4

Nie można uruchomić środowiska wykonawczego. Często przyczyną takiej sytuacji jest niezgodność wersji określonej w aplikacji z wersją środowiska wykonawczego.

5

Błąd z nieznanych przyczyn.

6

Nie można znaleźć pliku deskryptora aplikacji.

7

Zawartość deskryptora aplikacji jest niepoprawna. Ten błąd zwykle wskazuje, że plik XML nie jest poprawnie sformatowany.

8

Nie można znaleźć głównego pliku zawartości aplikacji (określony w elemencie <content> pliku deskryptora aplikacji).

9

Główny plik zawartości aplikacji nie jest poprawnym plikiem SWF lub HTML.

10

Aplikacja nie obsługuje profilu określonego za pomocą opcji -profile.

11

Argument -screensize nie jest obsługiwany w bieżącym profilu.