偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

構(gòu)建Adobe AIR for TV本機擴展

移動開發(fā)
本教程向您使用簡單的代碼為構(gòu)建Adobe AIR for TV本機擴展。除了向您展示在所有原生擴展(AIR、ActionScript 3和Flash Builder)中通用的代碼和技能,本教程還介紹了Adobe AIR for TV原生代碼。

當您構(gòu)建 AIR for TV 本機擴展時,您將構(gòu)建兩個版本的擴展:

  • 設(shè)備綁定擴展。
  • 存根或模擬器擴展。

設(shè)備綁定擴展包括:

  • 通常使用 C 或 C++ 編寫的本機實現(xiàn)。
  • 調(diào)用該本機實現(xiàn)的函數(shù)的實際 ActionScript 實現(xiàn)。
  • 存根或模擬器擴展是僅包含 ActionScript 的實現(xiàn)。

設(shè)備綁定擴展和存根擴展

當您為 Adobe® AIR® for TV 設(shè)備編寫本機擴展時,您需要創(chuàng)建該擴展的兩個變體:

  • 設(shè)備綁定擴展,也稱為實際擴展。
  • 存根擴展。

此外,您還可以根據(jù)情況提供第三個變體:模擬器擴展。

設(shè)備綁定擴展

設(shè)備綁定擴展是設(shè)備上安裝的變體。ActionScript 端調(diào)用本機實現(xiàn)的函數(shù)。您生成此實際 ActionScript 實現(xiàn)以及本機實現(xiàn),并創(chuàng)建一個 ZIP 文件。設(shè)備制造商將此文件解壓縮到設(shè)備上的特定目錄中。

存根擴展

存根本機擴展具有與實際 ActionScript 實現(xiàn)相同的 ActionScript 接口,但是 ActionScript 方法不做任何事情。存根擴展是僅包含 ActionScript 的擴展;它沒有本機實現(xiàn)。當您生成存根 ActionScript 實現(xiàn)時,您將創(chuàng)建一個 ANE 文件。

AIR 應用程序開發(fā)人員使用此 ANE 文件達到三個目的:

  1. 編譯使用本機擴展的 AIR 應用程序。
  2. 在臺式計算機而不是目標設(shè)備上運行 AIR 應用程序。
  3. 包括在 AIR 應用程序軟件包中。

模擬器擴展

可選的第三種變體是模擬器擴展。此實現(xiàn)也具有與實際 ActionScript 實現(xiàn)相同的 ActionScript 接口。不過,它的 ActionScript 方法在 ActionScript 中模擬擴展的行為。像存根擴展一樣,模擬器擴展是僅包含 ActionScript 的擴展;它沒有本機實現(xiàn)。當您生成模擬器 ActionScript 實現(xiàn)時,您將創(chuàng)建一個 ANE 文件。

AIR 應用程序開發(fā)人員可以使用模擬器擴展 ANE 文件編譯他們的應用程序。與使用存根擴展進行測試相比,他們可以使用此 ANE 文件在臺式計算機上更加徹底地測試應用程序。他們還可以將模擬器擴展包括在 AIR 應用程序軟件包中。

注: 您可以創(chuàng)建一個模擬器擴展,作為存根擴展的替代品或輔助品。

設(shè)備綁定擴展、存根擴展和模擬器擴展的使用

AIR 應用程序開發(fā)人員使用存根和模擬器擴展完成下列工作:

  • 使用存根擴展或模擬器擴展編譯 AIR 應用程序。
  • 使用存根擴展或模擬器擴展在臺式計算機上測試應用程序。
  • 將存根擴展或模擬器擴展打包到它們的可分發(fā) AIR 應用程序中。

注: 如果您為 AIR 應用程序開發(fā)人員同時提供了存根和模擬器擴展,請告訴他們將哪個擴展與他們的可分發(fā)應用程序一起打包。

當 AIR 應用程序在設(shè)備上運行時,AIR for TV 將執(zhí)行下列操作:

  1. 在設(shè)備上尋找相應的設(shè)備綁定(實際)擴展。
  2. 如果該擴展存在,則 AIR for TV 會加載它以供 AIR 應用程序使用。
  3. 如果該擴展不存在,AIR for TV 將改為加載與應用程序一起打包的存根或模擬器擴展。

為擴展創(chuàng)建簽名證書

您可以選擇對本機擴展進行數(shù)字簽名。對擴展簽名是可選的。

默認情況下,AIR for TV 生成實用程序使用虛假證書。該虛假證書僅適用于測試.

編寫本機實現(xiàn)

對于 AIR for TV 而言,您的擴展的本機實現(xiàn)是 AIR for TV 模塊。

AIR for TV 分發(fā)包提供了擴展開發(fā)工具包 (EDK),用于編寫和生成您的擴展的本機實現(xiàn)。

EDK 包括下列部分:

C 擴展 API 頭文件:

  1. <AIR for TV installation directory>/products/stagecraft/include/ae/edk/FlashRuntimeExtensions.h 

該頭文件聲明本機實現(xiàn)使用的 C 類型和函數(shù)。

一個位于以下源文件中的擴展模塊實現(xiàn):

  1. <AIR for TV installation directory>/products/stagecraft/source/ae/edk/ExtensionBridge.cpp 

請不要修改此擴展模塊實現(xiàn)。當您生成您的本機實現(xiàn)時,必須在您的內(nèi)部版本中包括此源文件。

生成您的設(shè)備綁定擴展所需的生成文件支持。

注: AIR for TV EDK 要求將 FREInitializer() 方法命名為 Initializer(),將 FREFinalizer() 方法命名為 Finalizer()。

將 ActionScript 和本機代碼放入目錄結(jié)構(gòu)中

設(shè)備綁定擴展是特定于硬件平臺的。當您開發(fā)設(shè)備綁定擴展時,請將您的文件放入您的平臺的子目錄中。此子目錄位于以下目錄中:

  <AIR for TV installation directory>/products/stagecraft/thirdparty-private/<yourCompany>/stagecraft-platforms/<yourPlatform>/edk

例如,公司 A 使用以下子目錄來進行面向其平臺 B 的開發(fā)工作:

  <AIR for TV installation directory>/products/stagecraft/thirdparty-private/CompanyA/stagecraft-platforms/PlatformB/edk

請將您的 C 實現(xiàn)的頭文件和源文件放入 <您的平臺>/edk 目錄或其子目錄中。例如,將您的擴展 .cpp 和 .h 文件在放入以下目錄中:

  <AIR for TV installation directory>/products/stagecraft/thirdparty-private/CompanyA/stagecraft-platforms/PlatformB/edk/myExtension/native

類似地,將您的實際 ActionScript 實現(xiàn)的 .as 文件放入 <您的平臺>/edk 目錄或其子目錄中。例如:

  <AIR for TV installation directory>/products/stagecraft/thirdparty-private/CompanyA/stagecraft-platforms/PlatformB/edk/myExtension/as/real

另外,請將您的存根或模擬器 ActionScript 實現(xiàn)的 .as 文件放入 <您的平臺>/edk 目錄或其子目錄中。例如:

  <AIR for TV installation directory>/products/stagecraft/thirdparty-private/CompanyA/stagecraft-platforms/PlatformB/edk/myExtension/as/stub

<AIR for TV installation directory>/products/stagecraft/thirdparty-private/CompanyA/stagecraft-platforms/PlatformB/edk/myExtension/as/simulator

注:pAIR for TV 提供的擴展示例位于目錄 <AIR for TV 安裝目錄>/products/stagecraft/source/edk 中。請不要將您的擴展文件放入此目錄中。

創(chuàng)建 .mk 文件

與其他 AIR for TV 模塊一樣,要生成您的擴展模塊,您首先需要創(chuàng)建 .mk 文件。.mk 文件的主要用途是指定要生成的源文件。

要創(chuàng)建 .mk 文件,請執(zhí)行下列操作:

復制以下目錄中的 PlatformEDKExtension_HelloWorld.mk 文件或 PlatformEDKExtension_Process.mk 文件:

  <AIR for TV installation directory>/products/stagecraft/source/ae/edk/helloworld/

  <AIR for TV installation directory>/products/stagecraft/source/ae/edk/process/

將其復制到:

  <AIR for TV installation directory>/products/stagecraft/thirdparty-private/<yourCompany>/stagecraft-platforms/<yourPlatform>
  1. 此目錄與包含您的平臺的 Makefile.config 文件的目錄相同。

  2. 將 .mk 文件重命名為 PlatformEDKExtension_<您的擴展名稱>.mk。AIR for TV 生成實用程序自動通過此命名約定發(fā)現(xiàn) .mk 文件。

    請始終使用 PlatformEDKExtension_ 作為 .mk 文件名稱的開頭。

  3. 編輯 .mk 文件中標有“REQUIRED”的部分。

進行下列必要的修改:

  • 將 SC_EDK_EXTENSION_NAME 設(shè)置為擴展名稱。將該變量設(shè)置為 PlatformEDKExtension_<您的擴展名稱>.mk 中 <您的擴展名稱> 的值。

  • 將 SC_EDK_EXTENSION_PACKAGE 設(shè)置為擴展軟件包名稱。將該值設(shè)置為在您的擴展的 ActionScript 端使用的軟件包名稱。

    生成實用程序?qū)⒃撝涤米鲾U展的擴展描述符文件中 <id> 元素的值。它還使用此值和 .ane 擴展文件名命名生成的 ANE 文件。

  • 將 SC_EDK_EXTENSION_VERSION 設(shè)置為擴展的版本號。

    生成實用程序?qū)⒃撝涤米鲾U展的擴展描述符文件中 <versionNumber> 元素的值。

  • 設(shè)置 SC_MODULE_SOURCE_DIR、SC_MODULE_SOURCE_FILES 和 SC_ADDITIONAL_MODULE_OBJ_SUBDIRS 以指定 AIR for TV 提供的本機實現(xiàn)文件。

    注: 請不要從該列表中刪除 ExtensionBridge.cpp。請刪除 HelloWorld 或 Process 擴展實現(xiàn)文件。通常,不要將您的擴展的源文件添加到該列表中。

    例如:

  SC_MODULE_SOURCE_DIR := $(SC_SOURCE_DIR_EDK)

SC_MODULE_SOURCE_FILES := ExtensionBridge.cpp

設(shè)置 SC_PLATFORM_SOURCE_DIR 和 SC_PLATFORM_SOURCE_FILES 以指定您的擴展的本機實現(xiàn)文件。例如:

  SC_PLATFORM_SOURCE_DIR := $(SC_PLATFORM_MAKEFILE_DIR)/edk/myExtension/native

SC_PLATFORM_SOURCE_FILES := \ MyExtension.cpp \

helper\MyHelperClass1.cpp \

helper\MyHelperClass2.cpp

將 SC_EDK_AS_SOURCE_DIR 設(shè)置為包含您的擴展的實際(而非存根)實現(xiàn)的 ActionScript 文件的目錄。例如:

  SC_EDK_AS_SOURCE_DIR := $(SC_PLATFORM_MAKEFILE_DIR)/edk/myExtension/as/real

注: 該目錄是您的 ActionScript 軟件包的基本目錄。例如,假定有一個名為 tv.adobe.extension.example 的 ActionScript 軟件包。目錄 tv、adobe、extension 和 example 是 SC_EDK_AS_SOURCE_DIR 的后續(xù)子目錄。

設(shè)置 SC_EDK_AS_CLASSES 以列出實際 ActionScript 實現(xiàn)定義的每個 ActionScript 類。例如:

  SC_EDK_AS_CLASSES := MyExtension \ MyHelperClass1 \ MyHelperClass2

 

將 SC_EDK_AS_SOURCE_DIR_AUTHORING 設(shè)置為包含您的擴展的存根或模擬器實現(xiàn)的 ActionScript 文件的目錄。例如:

  SC_EDK_AS_SOURCE_DIR_AUTHORING := $(SC_PLATFORM_MAKEFILE_DIR)/edk/myExtension/as/stub

注: 該目錄是您的 ActionScript 軟件包的基本目錄。例如,假定有一個名為 tv.adobe.extension.example 的 ActionScript 軟件包。目錄 tv、adobe、extension 和 example 是 SC_EDK_AS_SOURCE_DIR_AUTHORING 的后續(xù)子目錄。

設(shè)置 SC_EDK_AS_CLASSES_AUTHORING 以列出存根或模擬器 ActionScript 實現(xiàn)定義的每個 ActionScript 類。例如:

  SC_EDK_AS_CLASSES_AUTHORING := MyExtension \ MyHelperClass1 \ MyHelperClass2

 安裝第三方庫

生成 AIR for TV 需要某些第三方庫。

如果您僅生成您的擴展模塊,而不是生成所有 AIR for TV,則需要的庫有:

AIR 3 SDK

http://www.adobe.com/products/air/sdk/ 中選擇下載 Mac OS X。

創(chuàng)建一個目錄以包含 .tbz2 文件的內(nèi)容。例如:

  /usr/AIRSDK

 將 .tbz2 文件的內(nèi)容解壓到此目錄中。

  tar jxf AdobeAIRSDK.tbz2

設(shè)置 PATH 環(huán)境變量以包括 AIR SDK bin 目錄。在本示例中,該 bin 目錄是 /usr/AIRSDK/bin。

Open Source Flex® SDK。

http://opensource.adobe.com/wiki/display/flexsdk/Downloads 下載 Open Source Flex SDK 最新發(fā)行版的 ZIP 文件。

創(chuàng)建一個目錄以包含 ZIP 文件的內(nèi)容。例如:

  /usr/flexSDK

 

將 ZIP 文件的內(nèi)容解壓到此目錄中。

  unzip flex_sdk_4.5.1.21328_mpl.zip

設(shè)置 PATH 環(huán)境變量以包括 Flex SDK bin 目錄。在本示例中,該 bin 目錄是 /usr/flexSDK/bin。

Java運行時。Flex SDK 需要最新的 Java 運行時。如果您的開發(fā)系統(tǒng)還不具有 Java 運行時,請訪問 http://www.java.com/en/download/manual.jsp 獲取下載包和安裝說明。

設(shè)置 PATH 環(huán)境變量以包括 Java bin 目錄。

運行生成實用程序

 具體說來,在生成擴展時,生成實用程序在 Makefile.config 中使用下列生成變量:

  • SC_ZIP

  • SC_UNZIP

  • SC_PLATFORM_NAME

  • SC_PLATFORM_ARCH

在創(chuàng)建您的平臺的 Makefile.config 文件和您的擴展的 .mk 文件后,您可以使用生成實用程序執(zhí)行下列操作:

  • 生成 AIR for TV 的所有組件。

  • 僅生成您的擴展模塊。

要生成 AIR for TV 的所有組件,請執(zhí)行下列操作:
  1. 確保已設(shè)置環(huán)境變量 SC_BUILD_MODE 和 SC_PLATFORM。

  2. 如果您使用自己創(chuàng)建的證書對您的擴展進行簽名,請設(shè)置環(huán)境變量 SC_EDK_ANE_CERT_FILE 和 SC_EDK_ANE_CERT_PASSWD。

    將 SC_EDK_ANE_CERT_FILE 設(shè)置為您的證書的相對或絕對路徑。相對路徑相對于生成目錄 <AIR for TV 安裝目錄>/stagecraft/build/linux。

    將 SC_EDK_ANE_CERT_PASSWD 設(shè)置為該證書的密碼。

    如果您不設(shè)置這些環(huán)境變量,生成實用程序?qū)⑹褂媚J的虛假證書,并且顯示警告消息。該虛假證書僅適用于測試。

  3. 更改到目錄:

      <AIR for TV installation directory>/products/stagecraft/build/linux

 輸入以下命令:

  make

要僅生成您的擴展模塊,請執(zhí)行下列操作:

  1. 確保已設(shè)置環(huán)境變量 SC_BUILD_MODE 和 SC_PLATFORM。

  2. 如果您使用自己創(chuàng)建的證書對您的擴展進行簽名,請如前面的步驟所述,設(shè)置環(huán)境變量 SC_EDK_ANE_CERT_FILE 和 SC_EDK_ANE_CERT_PASSWD。

  3. 更改到目錄 stagecraft/build/linux。

  4. 輸入以下命令:

  make PlatformEDKExtension_<your extension name>

您可以用以下命令刪除以前為您的擴展生成的所有對象:

  make clean-PlatformEDKExtension_<your extension name>

 

您可以用以下命令刪除以前為您的擴展生成的所有對象,然后重新生成這些對象:

  make rebuild-PlatformEDKExtension_<your extension name>

 

重要說明: 如果您的生成計算機使用了防火墻,則生成實用程序有時會失敗。防火墻可能禁止訪問 ADT 在將本機擴展打包為 ANE 文件時使用的時間戳服務器。這一失敗會產(chǎn)生以下錯誤輸出:

  Could not generate timestamp: Connection timed out

 

要避免該失敗,請修改生成實用程序使用的 ADT 命令。編輯以下目錄中的文件 extension.mk:

  <AIR for TV installation directory>/stagecraft/source/ae/edk/

查找以下行:

  $(SC_EXEC_CMD) $(SC_ADT) -package \

將參數(shù) -tsa none 添加至該命令,如下所示:

   $(SC_EXEC_CMD) $(SC_ADT) -package-tsa none\

 

生成實用程序擴展輸出

生成實用程序為您的擴展創(chuàng)建兩個文件。它將這些文件放入下列目錄之一,具體取決于您為 SC_BUILD_MODE 指定了 debug 還是 release:

  <AIR for TV installation directory>/build/stagecraft/linux/<yourPlatform>/debug/bin

<AIR for TV installation directory>/build/stagecraft/linux/<yourPlatform>/release/bin

生成實用程序為您的擴展創(chuàng)建的文件有:

  • 一個 ZIP 文件,包含要在設(shè)備上部署的設(shè)備綁定擴展。

  • 一個 ANE 文件,包含存根或模擬器擴展。AIR 應用程序開發(fā)人員使用該 ANE 文件來生成他們的應用程序。他們還使用它在使用 ADL 的臺式計算機上測試他們的應用程序。他們還將該 ANE 文件與他們的應用程序一起打包為 AIRN 軟件包。

同時生成存根和模擬器擴展

有時,除了實際擴展以外,您還想同時生成存根和模擬器擴展。通常,您指示 AIR 應用程序開發(fā)人員執(zhí)行以下操作:

  • 使用模擬器擴展在臺式計算機上進行測試。

  • 將存根擴展與他們的應用程序一起打包為 AIRN 軟件包。

要同時生成存根和模擬器擴展,請執(zhí)行以下操作:

  1. 創(chuàng)建存根擴展及其 .mk 文件。確保您可以生成存根擴展和實際擴展。

  2. 為您的模擬器實現(xiàn)創(chuàng)建一個目錄,該目錄需要是您的存根實現(xiàn)目錄的兄弟目錄。例如:

      <AIR for TV installation directory>/products/stagecraft/thirdparty-private/CompanyA/stagecraft-platforms/PlatformB/edk/myExtension/as/stub

    <AIR for TV installation directory>/products/stagecraft/thirdparty-private/CompanyA/stagecraft-platforms/PlatformB/edk/myExtension/as/simulator

  3. 制作您的擴展的 .mk 文件的副本。

  4. 在該副本中,編輯 SC_EDK_AS_SOURCE_DIR_AUTHORING 和 SC_EDK_AS_CLASSES_AUTHORING 的值。對這些值進行適當?shù)脑O(shè)置,以反映您的模擬器實現(xiàn)目錄和類。

  5. 重命名您的擴展的原始 .mk 文件,以保證它的安全。然后,將該副本重命名為您的擴展的 .mk 文件名:PlatformEDKExtension_<您的擴展名稱>.mk。

  6. 將您的平臺的 bin 目錄中的存根 ANE 文件移至某個安全的位置。否則,下一步操作會覆蓋該文件。

  7. 運行生成實用程序以生成實際擴展和您的模擬器擴展。

責任編輯:佚名 來源: Adobe
相關(guān)推薦

2011-11-16 16:21:09

AdobeAIR

2011-11-16 15:14:57

AdobeAIRiOS設(shè)備

2012-03-09 10:46:35

Adobe AIR是什Adobe AIRAIR

2012-03-15 09:55:23

Adobe AIR安裝

2009-01-18 09:20:49

AIRAdobeFlex

2009-06-25 10:46:22

Silverlight

2012-07-06 13:45:21

跨平臺工具Adobe AirFlex

2010-10-29 09:28:52

Adobe AirAdobe MAXflash

2010-08-18 08:21:49

Adobe AIRAndroid

2011-11-17 15:17:37

AdobeAIR調(diào)試性能

2012-03-09 13:26:53

2012-02-28 13:52:45

Adobe AIRAndroidFlash

2012-03-09 13:52:28

Adob??e AIRiOS

2011-11-17 15:31:12

AdobeAIR

2012-03-15 09:46:41

UbuntuLinux安裝Adobe AIR

2011-11-16 15:47:04

AdobeAIRiOS應用

2011-11-16 13:47:05

2011-11-16 14:20:43

Adobe AIR

2010-10-27 14:03:11

Adobeair 2.5蘋果

2011-11-17 15:01:37

AdobeAIR移動應用
點贊
收藏

51CTO技術(shù)棧公眾號