成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

構建Adobe AIR for TV本機擴展

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

當您構建 AIR for TV 本機擴展時,您將構建兩個版本的擴展:

  • 設備綁定擴展。
  • 存根或模擬器擴展。

設備綁定擴展包括:

  • 通常使用 C 或 C++ 編寫的本機實現。
  • 調用該本機實現的函數的實際 ActionScript 實現。
  • 存根或模擬器擴展是僅包含 ActionScript 的實現。

設備綁定擴展和存根擴展

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

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

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

設備綁定擴展

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

存根擴展

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

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

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

模擬器擴展

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

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

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

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

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

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

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

當 AIR 應用程序在設備上運行時,AIR for TV 將執行下列操作:

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

為擴展創建簽名證書

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

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

編寫本機實現

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

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

EDK 包括下列部分:

C 擴展 API 頭文件:

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

該頭文件聲明本機實現使用的 C 類型和函數。

一個位于以下源文件中的擴展模塊實現:

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

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

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

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

將 ActionScript 和本機代碼放入目錄結構中

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

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

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

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

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

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

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

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

另外,請將您的存根或模擬器 ActionScript 實現的 .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 中。請不要將您的擴展文件放入此目錄中。

創建 .mk 文件

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

要創建 .mk 文件,請執行下列操作:

復制以下目錄中的 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 生成實用程序自動通過此命名約定發現 .mk 文件。

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

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

進行下列必要的修改:

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

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

    生成實用程序將該值用作擴展的擴展描述符文件中 <id> 元素的值。它還使用此值和 .ane 擴展文件名命名生成的 ANE 文件。

  • 將 SC_EDK_EXTENSION_VERSION 設置為擴展的版本號。

    生成實用程序將該值用作擴展的擴展描述符文件中 <versionNumber> 元素的值。

  • 設置 SC_MODULE_SOURCE_DIR、SC_MODULE_SOURCE_FILES 和 SC_ADDITIONAL_MODULE_OBJ_SUBDIRS 以指定 AIR for TV 提供的本機實現文件。

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

    例如:

  SC_MODULE_SOURCE_DIR := $(SC_SOURCE_DIR_EDK)

SC_MODULE_SOURCE_FILES := ExtensionBridge.cpp

設置 SC_PLATFORM_SOURCE_DIR 和 SC_PLATFORM_SOURCE_FILES 以指定您的擴展的本機實現文件。例如:

  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 設置為包含您的擴展的實際(而非存根)實現的 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 的后續子目錄。

設置 SC_EDK_AS_CLASSES 以列出實際 ActionScript 實現定義的每個 ActionScript 類。例如:

  SC_EDK_AS_CLASSES := MyExtension \ MyHelperClass1 \ MyHelperClass2

 

將 SC_EDK_AS_SOURCE_DIR_AUTHORING 設置為包含您的擴展的存根或模擬器實現的 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 的后續子目錄。

設置 SC_EDK_AS_CLASSES_AUTHORING 以列出存根或模擬器 ActionScript 實現定義的每個 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。

創建一個目錄以包含 .tbz2 文件的內容。例如:

  /usr/AIRSDK

 將 .tbz2 文件的內容解壓到此目錄中。

  tar jxf AdobeAIRSDK.tbz2

設置 PATH 環境變量以包括 AIR SDK bin 目錄。在本示例中,該 bin 目錄是 /usr/AIRSDK/bin。

Open Source Flex® SDK。

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

創建一個目錄以包含 ZIP 文件的內容。例如:

  /usr/flexSDK

 

將 ZIP 文件的內容解壓到此目錄中。

  unzip flex_sdk_4.5.1.21328_mpl.zip

設置 PATH 環境變量以包括 Flex SDK bin 目錄。在本示例中,該 bin 目錄是 /usr/flexSDK/bin。

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

設置 PATH 環境變量以包括 Java bin 目錄。

運行生成實用程序

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

  • SC_ZIP

  • SC_UNZIP

  • SC_PLATFORM_NAME

  • SC_PLATFORM_ARCH

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

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

  • 僅生成您的擴展模塊。

要生成 AIR for TV 的所有組件,請執行下列操作:
  1. 確保已設置環境變量 SC_BUILD_MODE 和 SC_PLATFORM。

  2. 如果您使用自己創建的證書對您的擴展進行簽名,請設置環境變量 SC_EDK_ANE_CERT_FILE 和 SC_EDK_ANE_CERT_PASSWD。

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

    將 SC_EDK_ANE_CERT_PASSWD 設置為該證書的密碼。

    如果您不設置這些環境變量,生成實用程序將使用默認的虛假證書,并且顯示警告消息。該虛假證書僅適用于測試。

  3. 更改到目錄:

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

 輸入以下命令:

  make

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

  1. 確保已設置環境變量 SC_BUILD_MODE 和 SC_PLATFORM。

  2. 如果您使用自己創建的證書對您的擴展進行簽名,請如前面的步驟所述,設置環境變量 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 文件時使用的時間戳服務器。這一失敗會產生以下錯誤輸出:

  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 \

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

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

 

生成實用程序擴展輸出

生成實用程序為您的擴展創建兩個文件。它將這些文件放入下列目錄之一,具體取決于您為 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

生成實用程序為您的擴展創建的文件有:

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

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

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

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

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

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

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

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

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

      <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 的值。對這些值進行適當的設置,以反映您的模擬器實現目錄和類。

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

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

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

責任編輯:佚名 來源: Adobe
相關推薦

2011-11-16 16:21:09

AdobeAIR

2011-11-16 15:14:57

AdobeAIRiOS設備

2012-03-09 10:46:35

Adobe AIR是什Adobe AIRAIR

2012-03-15 09:55:23

Adobe AIR安裝

2009-06-25 10:46:22

Silverlight

2009-01-18 09:20:49

AIRAdobeFlex

2010-08-18 08:21:49

Adobe AIRAndroid

2010-10-29 09:28:52

Adobe AirAdobe MAXflash

2012-07-06 13:45:21

跨平臺工具Adobe AirFlex

2011-11-17 15:17:37

AdobeAIR調試性能

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

2011-11-16 15:47:04

AdobeAIRiOS應用

2012-03-15 09:46:41

UbuntuLinux安裝Adobe AIR

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技術棧公眾號

主站蜘蛛池模板: 91精品国产乱码久久久久久久久 | 91高清在线观看 | 国产成人精品999在线观看 | 国产精品亚洲一区 | 97国产精品视频人人做人人爱 | 国产视频一区二区三区四区五区 | 国产一区二区电影 | 亚洲第一网站 | 国产日韩一区二区三区 | 99免费视频 | 91一区二区三区 | 色婷婷av一区二区三区软件 | 伊人伊人伊人 | 国产黄色大片网站 | 中文字幕日韩欧美一区二区三区 | 国产午夜精品一区二区三区 | 日本成人片在线观看 | 日韩1区 | 成人久草| 国产91久久精品一区二区 | 久久成人精品视频 | 亚洲精品久久久一区二区三区 | 亚洲免费一区 | 日韩精品视频在线观看一区二区三区 | 黄频免费 | 亚洲欧美视频 | 久久黄色网 | a在线观看 | 九九热这里只有精品在线观看 | 成人国产在线视频 | 亚洲一区二区在线 | 欧美精品一区二区三区蜜桃视频 | 黄页网址在线观看 | 青春草91 | 欧美视频免费 | 91麻豆产精品久久久久久夏晴子 | 国产 欧美 日韩 一区 | 国产欧美日韩综合精品一区二区 | 国产激情毛片 | 欧美成人专区 | 看片网站在线 |