Debuggen von AIR-Anwendungen für TV-Geräte

Gerätesimulation mit ADL

Die schnellste und einfachste Art, die meisten Anwendungsfunktionen zu debuggen, ist das Ausführen der Anwendung auf dem Entwicklungscomputer mit dem Dienstprogramm Adobe Debug Launcher (ADL).

ADL bestimmt anhand des supportedProfiles -Elements im Anwendungsdeskriptor, welche Profile zu verwenden sind. Insbesondere:

  • Wenn mehrere Profile aufgeführt sind, verwendet ADL das erste in der Liste.

  • Mit dem ADL-Parameter -profile können Sie eines der anderen Profile in der supportedProfiles -Liste auswählen.

  • Falls der Anwendungsdeskriptor kein supportedProfiles -Element enthält, kann ein beliebiges Profil für das -profile -Argument angegeben werden.

Verwenden Sie zum Beispiel den folgenden Befehl, um eine Anwendung zu starten, die das tv -Profil simuliert:
adl -profile tv myApp-app.xml

Bei der Emulation des tv - oder extendedTV -Profils auf einem Desktop mit ADL wird die Anwendung in einer Umgebung ausgeführt, die einem Zielgerät möglichst genau entspricht. Zum Beispiel:

  • ActionScript-APIs, die nicht zum Profil gehören, das im -profile -Argument angegeben ist, sind nicht verfügbar.

  • ADL ermöglicht die Simulation von Geräteeingabesteuerungen, zum Beispiel Tasten der Fernbedienung, über Menübefehle.

  • Wenn Sie tv oder extendedTV im -profile -Argument angeben, kann ADL die StageVideo-Klasse auf dem Desktop simulieren.

  • Bei Angabe von extendedTV im -profile -Argument kann die Anwendung Stubs oder Simulatoren von nativen Erweiterungen verwenden, die mit der AIRN-Datei der Anwendung verpackt werden.

Da ADL die Anwendung jedoch auf dem Desktop ausführt, gelten für das Testen von AIR-Anwendungen für TV-Geräte mit ADL bestimmte Einschränkungen:

  • Die Anwendungsleistung auf dem Gerät wird nicht getestet. Führen Sie Leistungstests auf dem Zielgerät aus.

  • Die Einschränkungen des StageVideo-Objekts werden nicht simuliert. Normalerweise verwenden Sie die StageVideo-Klasse und nicht die Video-Klasse zum Abspielen von Videos, wenn TV-Geräte das Ziel der AIR-Anwendung sind. Die StageVideo-Klasse nutzt die Leistungsvorteile der Gerätehardware, ist jedoch bezüglich der Anzeige eingeschränkt. ADL spielt das Video auf dem Desktop ohne diese Einschränkungen ab. Testen Sie die Videowiedergabe deshalb auf dem Zielgerät.

  • Der native Code einer nativen Erweiterung kann nicht simuliert werden. Sie können jedoch das extendedTV -Profil, das native Erweiterungen unterstützt, im ADL-Argument -profile angeben. ADL ermöglicht das Testen mit der reinen ActionScript-Stub- oder Simulatorversion der nativen Erweiterung, die im ANE-Paket enthalten ist. Normalerweise enthält jedoch die entsprechende Erweiterung, die auf dem Gerät installiert ist, ebenfalls nativen Code. Um die Erweiterung mit ihrem nativen Code zu testen, führen Sie die Anwendung auf dem Zielgerät aus.

Weitere Informationen finden Sie unter AIR Debug Launcher (ADL) .

Verwenden von nativen Erweiterungen

Wenn Ihre Anwendung native Erweiterungen verwendet, sieht der ADL-Befehl folgendermaßen aus:

adl -profile extendedTV -extdir C:\extensionDirs myApp-app.xml

Für das Beispiel wird Folgendes vorausgesetzt:

  • Der Pfad zum ADL-Werkzeug befindet sich in der Pfaddefinition der Befehlszeilen-Shell. (Siehe Pfadumgebungsvariablen .)

  • Der aktuelle Ordner enthält die Anwendungsdateien. Zu diesen gehören die SWF-Dateien und die Anwendungsdeskriptordatei, in diesem Beispiel „myApp-app.xml“.

  • Der Parameter -extdir bezeichnet einen Ordner, der einen Ordner für jede native Erweiterung enthält, die die Anwendung verwendet. Jeder dieser Ordner enthält die nicht verpackte ANE-Datei einer nativen Erweiterung. Zum Beispiel:

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

    Diese nicht verpackten ANE-Dateien enthalten einen reinen ActionScript-Stub oder eine Simulatorversion der Erweiterung. Die Version der Erweiterung, die den nativen Code enthält, ist auf dem Gerät mit AIR für TV installiert.

Weitere Informationen finden Sie unter Developing Native Extensions for Adobe AIR .

Eingabe über die Fernbedienung

ADL simuliert die Tasten der Fernbedienung eines TV-Geräts. Sie können diese Tasteneingaben an das simulierte Gerät senden, indem Sie das Menü verwenden, das beim Starten von ADL mit einem der TV-Profile angezeigt wird.

Bildschirmgröße

Zum Testen Ihrer Anwendung auf Bildschirmen verschiedener Größe geben Sie in ADL den -screensize -Parameter an. Sie können einen String mit vier Werten angeben, die die Breite und Höhe des normalen und des maximierten Bildschirms repräsentieren.

Geben Sie immer die Pixelabmessungen für das Hochformatlayout an, d. h. geben Sie für die Breite einen kleineren Wert als für die Höhe ein. Zum Beispiel:

adl -screensize 728x1024:768x1024 myApp-app.xml

Trace-Anweisungen

Wenn Sie die TV-Anwendung auf dem Desktop ausführen, erscheint die Trace-Ausgabe entweder im Debugger oder im Terminal-Fenster, aus dem ADL gestartet wurde.

Remote-Debugging mit Flash Professional

Mit Flash Professional können Sie Ihre AIR-für-TV-Anwendung remote debuggen, während sie auf dem Zielgerät ausgeführt wird. Welche Schritte dafür notwendig sind, ist jedoch vom Zielgerät abhängig. Das Adobe® AIR® for TV MAX 2010 Hardware Development Kit enthält zum Beispiel Dokumentation mit ausführlichen Schritten für dieses Gerät.

Die folgenden Schritte sind jedoch unabhängig vom Zielgerät beim Remote-Debugging auszuführen:

  1. Wählen Sie im Dialogfeld „Einstellungen für Veröffentlichungen“ auf der Registerkarte „Flash“ die Option „Debugging erlauben“.

    Bei dieser Einstellung schließt Flash Professional Debugging-Informationen in alle SWF-Dateien ein, die das Programm aus Ihrer FLA-Datei erstellt.

  2. Wählen Sie im Einstellungsdialogfeld von Adobe AIR (Einstellungen für Anwendungs- und Installationsprogramm) auf der Registerkarte „Signatur“ die Option zum Vorbereiten einer AIRI-Datei (AIR Intermediate).

    Wenn Sie Ihre Anwendung noch entwickeln, reicht es aus, eine AIRI-Datei zu verwenden, die keine digitale Signatur benötigt.

  3. Veröffentlichen Sie die Anwendung, um die AIRI-Datei zu erstellen.

Die letzten Schritte bestehen im Installieren und Ausführen der Anwendung auf dem Zielgerät. Diese Schritte sind jedoch geräteabhängig.

Remote-Debugging mit Flash Builder

Sie können Ihre AIR-für-TV-Anwendung auch mit Flash Builder remote debuggen, während sie auf dem Zielgerät ausgeführt wird. Welche Schritte dafür notwendig sind, ist jedoch vom Zielgerät abhängig.

Die folgenden Schritte sind jedoch unabhängig vom Zielgerät beim Remote-Debugging auszuführen:

  1. Wählen Sie „Projekt“ > „Releasebuild exportieren“ aus. Wählen Sie die Option zum Ausführen einer AIRI-Datei (AIR Intermediate).

    Wenn Sie Ihre Anwendung noch entwickeln, reicht es aus, eine AIRI-Datei zu verwenden, die keine digitale Signatur benötigt.

  2. Veröffentlichen Sie die Anwendung, um die AIRI-Datei zu erstellen.

  3. Ändern Sie das AIRI-Paket der Anwendung, damit es SWF-Dateien mit Debug-Informationen enthält.

    Die SWF-Dateien mit Debug-Informationen befinden sich im Flash Builder-Projektordner für die Anwendung in einem Verzeichnis mit dem Namen „bin-debug“. Ersetzen Sie die SWF-Dateien im AIRI-Paket durch die SWF-Dateien im Verzeichnis „bin-debug“.

Auf einem Windows-Entwicklungscomputer können Sie diese Ersetzung folgendermaßen vornehmen:

  1. Benennen Sie die AIRI-Paketdatei um, sodass sie die Dateinamenerweiterung „.zip“ statt „.airi“ hat.

  2. Extrahieren Sie den Inhalt der ZIP-Datei.

  3. Ersetzen Sie die SWF-Dateien in der extrahierten Verzeichnisstruktur durch die Dateien aus „bin-debug“.

  4. Komprimieren („zippen“) Sie die Dateien im extrahierten Verzeichnis wieder.

  5. Ändern Sie die Dateinamenerweiterung der komprimierten Datei so, dass sie wieder „.airi“ lautet.

Wenn Sie in einer Mac-Entwicklungsumgebung arbeiten, sind die Schritte für diese Ersetzung geräteabhängig. Im Allgemeinen beinhalten sie jedoch Folgendes:

  1. Installieren Sie das AIRI-Paket auf dem Zielgerät.

  2. Ersetzen Sie die SWF-Dateien im Installationsorder der Anwendung auf dem Zielgerät durch die SWF-Dateien aus dem Ordner „bin-debug“.

    Nehmen Sie zum Beispiel das Gerät, das im Adobe AIR for TV MAX 2010 Hardware Development Kit enthalten ist. Installieren Sie das AIRI-Paket wir in der Dokumentation des Kits beschrieben. Verwenden Sie dann auf der Befehlszeile des Mac-Entwicklungscomputers telnet, um auf das Zielgerät zuzugreifen. Ersetzen Sie die SWF-Dateien im Installationsordner der Anwendung unter /opt/adobe/stagecraft/apps/ <Anwendungsname> / durch die SWF-Dateien im Ordner „bin-debug“.

Die folgenden Schritte dienen zum Remote-Debugging mit Flash Builder und dem Gerät, das im Adobe AIR for TV MAX 2010 Hardware Development Kit enthalten ist.

  1. Führen Sie auf dem Computer, auf dem auch Flash Builder ausgeführt wird, also Ihrem Entwicklungscomputer, den AIR for TV Device Connector aus, der im MAX 2010 Hardware Development Kit enthalten ist. Dieser zeigt die IP-Adresse Ihres Entwicklungscomputers an.

  2. Starten Sie auf dem Gerät aus dem Hardware Kit die DevMaster-Anwendung, die ebenfalls im Entwicklungs-Kit enthalten ist.

  3. Geben Sie in der DevMaster-Anwendung die IP-Adresse Ihres Entwicklungscomputers ein, wie sie im AIR for TV Device Connector angezeigt wurde.

  4. Stellen Sie in der DevMaster-Anwendung sicher, dass „Enable Remote Debugging“ (Remote-Debugging aktivieren) ausgewählt ist.

  5. Beenden Sie die DevMaster-Anwendung.

  6. Wählen Sie auf dem Entwicklungscomputer im AIR for TV Connector „Start“.

  7. Starten Sie auf dem Gerät aus dem Hardware Kit eine andere Anwendung. Stellen Sie sicher, dass die Trace-Informationen im AIR for TV Device Connector angezeigt werden.

    Wenn die Trace-Informationen nicht angezeigt werden, sind der Entwicklungscomputer und das Gerät aus dem Hardware Kit nicht verbunden. Stellen Sie sicher, dass der Port auf dem Entwicklungscomputer, der für Trace-Informationen verwendet wird, verfügbar ist. Sie können im AIR for TV Device Connector einen anderen Port auswählen. Achten Sie außerdem darauf, dass Ihre Firewall den Zugriff auf den ausgewählten Port zulässt.

Starten Sie dann den Debugger in Flash Builder. Gehen Sie folgendermaßen vor:

  1. Wählen Sie in Flash Builder „Run“ > „Debug Configurations“ (Ausführen > Debug-Konfigurationen).

  2. Kopieren Sie aus der vorhandenen Debug-Konfiguration, die zum lokalen Debugging dient, den Namen des Projekts.

  3. Wählen Sie im Dialogfeld „Debug Configurations“ (Debug-Konfigurationen) die Option „Web Application“ (Webanwendung). Wählen Sie dann das Symbol „New Launch Configuration“ (Neue Startkonfiguration).

  4. Fügen Sie den Projektnamen in das Feld „Project“ (Projekt) ein.

  5. Entfernen Sie im Bereich „URL Or Path To Launch“ (URL oder Pfad zum Starten) die Markierung von der Option „Use Default“ (Standard verwenden). Geben Sie außerdem about:blank in das Textfeld ein.

  6. Wählen Sie „Apply“ (Übernehmen), um die Änderungen zu speichern.

  7. Wählen Sie „Debug“, um den Flash Builder-Debugger zu starten.

  8. Starten Sie Ihre Anwendung auf dem Gerät aus dem Hardware Kit.

Sie können jetzt den Flash Builder-Debugger verwenden, um zum Beispiel Haltepunkte zu setzen und Variablen zu untersuchen.