AIR Debug Launcher (ADL)

使用 AIR Debug Launcher (ADL),即可在開發階段執行 SWF 類型和 HTML 類型的應用程式,也能在不需要先行封裝和安裝應用程式的情況下,直接執行應用程式。ADL 預設會使用 SDK 隨附的執行階段,這表示您不需要另外安裝執行階段,就可以使用 ADL。

ADL 會將追蹤陳述式和執行階段錯誤列印至標準輸出,但是不支援中斷點或其它除錯功能。您可以使用 Flash 除錯程式 (或是 Flash Builder 等整合開發環境) 來進行複雜問題的除錯工作。

備註: 如果您的 trace() 陳述式未顯示在主控台上,請確定您尚未在 mm.cfg 檔案中指定 ErrorReportingEnable TraceOutputFileEnable 。如需有關這個檔案之平台特定位置的詳細資訊,請參閱 編輯 mm.cfg 檔案

AIR 支援直接進行除錯,因此您不需要執行階段的除錯版本 (使用 Adobe® Flash® Player 時則需要)。若要進行命令列除錯功能,您可以使用 Flash 除錯程式與 AIR Debug Launcher (ADL)。

Flash 除錯程式會散佈到 Flex SDK 目錄中。原生版本 (例如 Windows 上 fdb.exe) 則位於 bin 子目錄中。Java 版本位於 bin 子目錄中。AIR Debug Launcher (adl.exe) 位於 Flex SDK 安裝的 bin 目錄中 (並無獨立的 Java 版本)。

備註: fdb 會嘗試以 Flash Player 來啟動 AIR 應用程式,因此您無法直接使用 fdb 來啟動 AIR 應用程式。請改為讓 AIR 應用程式連線到執行中的 fdb 工作階段。

ADL 用法

如要使用 ADL 執行應用程式,請使用下列模式:

adl application.xml

其中 application.xml 是該應用程式的應用程式描述器檔案。

ADL 的完整語法為:

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

(中括號 [] 中的項目為選擇性。)

-runtime runtime-directory :指定包含要使用之執行階段的目錄。 如果未指定,則會使用與 ADL 程式相同之 SDK 中的執行階段目錄。如果您將 ADL 移至其 SDK 資料夾之外,請指定執行階段目錄。在 Windows 和 Linux 中,請指定其中含有 Adobe AIR 目錄的目錄 在 Mac OS X 中,請指定包含 Adobe AIR.framework 的目錄。

-pubid publisher-id :指定特定值做為這次執行 AIR 應用程式的發行者 ID。 指定暫時性的發行者 ID 可以讓您測試 AIR 應用程式的功能 (例如經由本機連線來通訊),這些功能會使用發行者 ID 協助唯一識別應用程式。至於 AIR 1.5.3,您也可以在應用程式描述器檔案中指定發行者 ID (而且不應該使用這個參數)。

備註: 至於 AIR 1.5.3,不再自動計算發行者 ID 並指派給 AIR 應用程式。 當您對現有的 AIR 應用程式建立更新程式時,可以指定發行者 ID,不過新的應用程式不需要,也不應該指定發行者 ID。

-nodebug :關閉除錯支援功能。如果有使用這項功能,應用程式程序便無法連接至 Flash 除錯程式,而且未處理例外的對話方塊便不會顯示 (不過,追蹤陳述式還是會列印至主控台視窗)。關閉除錯功能可以稍微提高應用程式的執行速度,也能更準確地模擬所安裝應用程式的執行模式。

- atlogin :模擬登入時啟動應用程式。此旗標可讓您測試應用程式邏輯,查看此邏輯是否只有在將應用程式設為在使用者登入時啟動才會執行。使用 -atlogin 時,傳送到應用程式之 InvokeEvent 物件的 reason 屬性將為 login ,而非 standard (除非應用程式已在執行中)。

-profile profileName :ADL 會使用指定的描述檔對應用程式進行除錯。 profileName 可以是下列其中一個值:

  • desktop

  • extendedDesktop

  • mobileDevice

如果應用程式描述器包含 supportedProfiles 元素,則使用 -profile 指定的描述檔必須是支援清單的成員。如果未使用 -profile 旗標,將使用應用程式描述器中第一個描述檔做為作用中描述檔。如果應用程式描述器未包含 supportedProfiles 元素且未使用 -profile 旗標,則使用 desktop 描述檔。

如需詳細資訊,請參閱 supportedProfiles 裝置描述檔

-screensize 值 在桌上型中以 mobileDevice 描述檔執行應用程式時,所使用的模擬螢幕大小。請將螢幕大小指定為預先定義的螢幕類型,或指定成縱向版面的一般寬度和高度像素尺寸,以及全螢幕寬度和高度。若要依類型指定值,請使用下列其中一種預先定義的螢幕類型:

螢幕類型

一般寬度 x 高度

全螢幕寬度 x 高度

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 x 854

FWQVGA

240 x 432

240 x 432

FWVGA

480 x 854

480 x 854

HVGA

320 x 480

320 x 480

iPad

768 x 1004

768 x 1024

iPadRetina

1536 x 2008

1536 x 2048

iPhone

320 x 460

320 x 480

iPhoneRetina

640 x 920

640 x 960

iPhone5Retina

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

iPodRetina

640 x 920

640 x 960

iPod5Retina

640 x1096

640 x 1136

NexusOne

480 x 762

480 x 800

QVGA

240 x 320

240 x 320

SamsungGalaxyS

480 x 762

480 x 800

SamsungGalaxyTab

600 x 986

600 x 1024

WQVGA

240 x 400

240 x 400

WVGA

480 x 800

480 x 800

若要直接指定螢幕像素尺寸,請使用下列格式:

widthXheight:fullscreenWidthXfullscreenHeight

請一律指定縱向版面的像素尺寸,也就是將寬度的值指定為小於高度的值。例如,NexusOne 螢幕可使用下列方式指定:

-screensize 480x762:480x800

-extdir extension-directory 執行階段應在其中搜尋原生擴充功能的目錄。目錄包含每個應用程式使用之原生擴充功能的子目錄每個子目錄都包含擴充功能的 未封裝 ANE 檔案。例如:

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 
    

使用 -extdir 參數時,請考量以下幾點:

  • ADL 命令要求其中每指定目錄的副檔名都是 .ane。但是,字尾 “.ane” 前的檔案名稱可以是任何有效的檔案名稱。這 必與應用程式描述器檔案的 extensionID 元素一致。

  • 您可指定 -extdir 參數一次以上。

  • ADT 工具和 ADL 工具的 -extdir 參數用法不同。在 ADT 中,參數會指定包含 ANE 檔案的目錄。

  • 您也可使用環境變數 AIR_EXTENSION_PATH 來指定擴充功能目錄。請參閱 ADT 環境變數

application.xml :應用程式描述器檔案。請參閱 AIR 應用程式描述器檔案 。應用程式描述器是 ADL 的唯一必要參數,且在大多數情況下是唯一需要的參數。

root-directory :指定要執行之應用程式的根目錄。如果未指定,則會使用包含該應用程式描述器檔案的目錄。

-- arguments 任何出現在 "--" 之後的字元字串都會傳遞至應用程式做為命令列引數。

備註: 當您啟動已經在執行中的 AIR 應用程式時,並不會啟動該應用程式的新實體,而是會將 invoke 事件傳送至執行中的實體。

ADL 範例

在目前的目錄中執行應用程式:

adl myApp-app.xml

在目前目錄的子目錄中執行應用程式:

adl source/myApp-app.xml release

執行應用程式,並傳入兩個命令列引數「tick」和「tock」:

adl myApp-app.xml -- tick tock

使用特定執行階段執行應用程式:

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

在不支援除錯的情況下執行應用程式:

adl -nodebug myApp-app.xml

在行動裝置描述檔中執行應用程式,並模擬 Nexus One 螢幕大小:

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

使用 Apache Ant 執行應用程式 (範例中顯示的路徑是針對 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>

ADL 結束和錯誤代碼

下表說明 ADL 列印的結束代碼:

結束代碼

說明

0

順利啟動。ADL 在 AIR 應用程式結束之後結束。

1

成功叫用正在執行中的 AIR 應用程式。ADL 會立即結束。

2

用法錯誤。為 ADL 提供的引數不正確。

3

找不到執行階段。

4

無法啟動執行階段。通常,當應用程式中指定的版本與執行階段的版本不符時,就會發生這個錯誤。

5

發生未知原因的錯誤。

6

找不到應用程式描述器檔案。

7

應用程式描述器的內容無效。這個錯誤通常表示 XML 的格式不正確。

8

找不到主要應用程式內容檔案 (這個檔案是在應用程式描述器檔案的 <content> 元素中指定)。

9

主要應用程式內容檔案並非有效的 SWF 或 HTML 檔案。

10

應用程式不支援以 -profile 選項指定的描述檔。

11

目前描述檔不支援 -screensize 引數。