Android APK 套件

建立 APK 套件

若要建立 APK 套件,請使用 ADT package 命令,設定發行組建的目標類型為 apk ,將除錯組建設為 apk-debug ,或是將 release-mode 組建設為 apk-emulator 以便在模擬器上執行。

adt     -package 
                                -target apk 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

在單一行中輸入整個命令;上述範例中的分行僅為便於閱讀之故。此範例也假設 ADT 工具的路徑位於命令列殼層路徑定義中。(如需說明,請參閱 Path 環境變數 。)

您必須從包含應用程式檔案的目錄中執行命令。範例中的應用程式檔案為 myApp-app.xml (應用程式描述器檔案)、myApp.swf 與圖示目錄。

如圖所示執行命令時,ADT 將提示您輸入金鑰儲存密碼。(您輸入的密碼字元不會顯示;完成輸入時請按 Enter)。

備註: 根據預設,所有 AIR Android 應用程式的套件名稱前置詞均為 air. 。若要取消選取這個預設行為,請在您的電腦將環境變數 AIR_NOANDROIDFLAIR 設定為 true

建立使用原生擴充功能之應用程式的 APK 套件

若要為使用原生擴充功能的應用程式建立 APK 套件,除了一般封裝選項以外,還請加入 -extdir 選項。若有多個分享資源/元件庫的 ANE,在發出警告之前,ADT 只會選擇單一資源/元件庫並忽略其他重複的項目。此選項會指定包含應用程式使用之 ANE 檔案的目錄。例如:

adt     -package 
                                -target apk 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                -extdir extensionsDir 
                                myApp.swf icons

建立包含專屬 AIR 執行階段版本的 APK 套件

若要建立同時包含應用程式與固定 AIR 執行階段版本的 APK 套件,請使用 apk-captive-runtime 目標。此選項會指定包含應用程式使用之 ANE 檔案的目錄。例如:

adt     -package 
                                -target apk-captive-runtime 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

這個技術的潛在缺點包括:

  • 當 Adobe 發佈安全性修補程式時,使用者無法自動取得重要的安全性修正

  • 佔用更多應用程式 RAM

備註: 當您合併執行階段時,ADT 會在應用程式中加入 INTERNET BROADCAST_STICKY 權限。這些權限是 AIR 執行階段所需。

建立除錯 APK 套件

若要建立可用於除錯程式的應用程式版本,請使用 apk-debug 作為目標並指定連線選項:

adt     -package 
                                -target apk-debug 
                                -connect 192.168.43.45 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

-connect 旗標會告知裝置上的 AIR 執行階段,經由網路連線遠端除錯程式的位置。若要經由 USB 除錯,必須指定 -listen 旗標來取代,以指定用於除錯連線的 TCP 連接埠:

adt     -package 
                                -target apk-debug 
                                -listen 7936 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

為了讓大部分的除錯功能得以運作,也必須在編譯應用程式 SWF 與 SWC 時啟用除錯。如需 -connect -listen 旗標的完整說明,請參閱 除錯程式連線選項

備註: 根據預設,ADT 在以 apk-debug 目標封裝應用程式時,會封裝固定 AIR 執行階段與您的 Android 應用程式。若要強制 ADT 建立使用外部執行階段的 APK,請將 AIR_ANDROID_SHARED_RUNTIME 環境變數設定為 true

在 Android 上,應用程式也必須有存取網際網路的權限,才能經由網路連線執行除錯程式的電腦。請參閱 Android 權限

建立在 Android 模擬器上使用的 APK 套件

您可以在 Android 模擬器上使用除錯 APK 套件,但無法使用發行模式套件。若要建立在模擬器上使用的發行模式 APK 套件,請使用 ADT package 命令,將目標類型設為 apk-emulator

adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons

此範例假設 ADT 工具的路徑位於命令列殼層路徑定義中。(如需說明,請參閱 Path 環境變數 。)

從 AIR 或 AIRI 檔案建立 APK 套件

您可以從現有 AIR 或 AIRI 檔案建立 APK 套件:

adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air

在應用程式描述器檔案中,AIR 檔案必須使用 AIR 2.5 (或更新版本) 命名空間。

建立適用於 Android x86 平台的 APK 套件

自 AIR 14 開始,可以使用引數 -arch 來封裝適用於 Android x86 平台的 APK。例如:

    adt     -package 
                                -target apk-debug 
                                -listen 7936 
                                -arch x86 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons