ANE(接口)

ANE(接口)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

ANE,即是Adobe Air Native Extension的縮寫,是指AdobeAir的本地擴展。它的作用是提供給基於AdobeAir平台上層開發的as3腳本調用所在設備功能的接口及方法。

基本介紹

  • 中文名:Adobe Air Native Extension
  • 外文名:ANE
  • 產品:AdobeAir
  • 腳本:as3
相關檔案,支持設備,使用技術細節,

相關檔案

AIR 本機擴展 (ANE) 檔案
本機擴展開發人員將本機擴展打包到 ANE 檔案中。ANE 檔案是以歸檔檔案的形式存在,其中包含本機擴展所需的庫和資源。對於某些設備,ANE 檔案包含本機擴展使用的本機代碼庫。但對於其他設備,設備上安裝有本機代碼庫。在某些情況下,本機擴展對於某個特殊設備根本沒有本機代碼;其僅使用 ActionScript3.0 實現。
ANE
NativeProcess ActionScript 類
ActionScript3.0提供了一個 NativeProcess 類。此類允許 AIR 應用程式在主機作業系統上執行本機進程。此功能與本機擴展的功能類似,後者提供對特定於平台的功能和庫的訪問。在決定使用 NativeProcess 類還是使用本機擴展時經常要考慮如下因素:
  • 只有 extendedDesktop AIR 配置檔案支持 NativeProcess 類。因此,對於使用 AIR 配置檔案 mobileDevice 和 extendedMobileDevice 的應用程式,本機擴展是唯一選擇。
  • 本機擴展開發人員通常為各種平台提供本機實現,但其提供的 ActionScript API 在各平台上通常相同。使用 NativeProcess 類時,不同平台上啟動本機進程的 ActionScript 代碼可能會不同。
  • NativeProcess 類啟動一個單獨的進程,而本機擴展與 AIR 應用程式運行在同一進程中。因此,如果擔心代碼崩潰,則使用 NativeProcess 類比較安全。不過,單獨的進程意味著可能需要實現進程間的通信處理。
ActionScript 類庫(SWC檔案)
SWC 檔案是採用歸檔格式的 ActionScript 類庫。SWC檔案包含SWF檔案和其他資源檔案。SWC 檔案是共享 ActionScript 類(而不是共享各個 ActionScript 代碼和資源檔案)的簡便方法。
本機擴展包是一個 ANE 檔案。和 SWC 檔案一樣,ANE 檔案也是一個 ActionScript 類庫,包含歸檔格式的 SWF 檔案和其他資源檔案。不過,ANE 檔案和 SWC 檔案之間最重要的區別是只有 ANE 檔案才能包含本機代碼庫。
ANE

支持設備

支持的設備
從 AIR 3 開始,可以為以下設備在應用程式中使用本機擴展:
  • Android 設備,從 Android 2.2 開始
  • iOS 設備,從 iOS 4.0 開始
  • iOS Simulator,從 AIR 3.3 開始
  • Blackberry PlayBook
  • 支持 AIR 3.0 的 Windows 桌面設備
  • 支持 AIR 3.0 的 Mac OS X 桌面設備
通常,同一本機擴展以多個平台為目標。擴展的 ANE 檔案為每個支持的平台包含 ActionScript 和本機庫。通常,ActionScript 庫針對所有平台都具有相同的公共接口。本機庫必須不同。
有時,本機擴展支持默認平台。默認平台的實現僅具有 ActionScript 代碼,但無本機代碼。如果為擴展不專門支持的平台打包應用程式,則應用程式在執行時使用默認實現。例如,假設有一個擴展,提供僅適用於移動設備的功能。該擴展還可以提供桌面應用程式可用於模擬功能的默認實現。
支持的設備配置檔案
以下 AIR 配置檔案支持本機擴展:
  • extendedDesktop,從 AIR 3.0 開始
  • mobileDevice,從 AIR 3.0 開始
  • extendedMobileDevice,從 AIR 3.0 開始

使用技術細節

使用本機擴展的任務列表
要在應用程式中使用本機擴展,需要執行以下任務:
  1. 在應用程式描述符檔案中聲明擴展。
  2. 在應用程式庫路徑中包含 ANE 檔案。
  3. 打包應用程式.
在應用程式描述符檔案中聲明擴展
所有 AIR 應用程式都具有應用程式描述符檔案。當應用程式使用本機擴展時,應用程式描述符檔案包含一個 <extensions> 元素。例如:
<extensions>     <extensionID>com.example.Extension1</extensionID>     <extensionID>com.example.Extension2</extensionID> </extensions> 
extensionID 元素的值與擴展描述符檔案中的 id 元素的值相同。擴展描述符檔案是一個名為 extension.xml 的 XML 檔案。該檔案打包在 ANE 檔案中。您可使用歸檔提取器工具查看 extension.xml 檔案。
在應用程式庫路徑中包含 ANE 檔案
要編譯使用本機擴展的應用程式,要在庫路徑中包含 ANE 檔案。
一.使用帶 Flash Builder 的 ANE 檔案
如果應用程式使用本機擴展,請在庫路徑中包含本機擴展的 ANE 檔案。然後可以使用 Flash Builder 來編譯 ActionScript 代碼。
使用 Flash Builder 4.5.1 執行下列步驟:
  1. 將 ANE 檔案的檔案擴展名從 .ane 更改為 .swc。必須執行此步驟,以便 Flash Builder 可以找到檔案。
  2. 在 Flash Builder 項目中,選擇“項目”>“屬性”。
  3. 在“屬性”對話框中選擇“Flex 生成路徑”。
  4. 在“庫路徑”選項卡中,選擇“添加 SWC...”。
  5. 瀏覽到 SWC 檔案,然後選擇“打開”。
  6. 在“添加 SWC...”對話框中選擇“確定”。
    現在,ANE 檔案將會顯示在“屬性”對話框的“庫路徑”選項卡中。
  7. 展開 SWC 檔案條目。雙擊“連結類型”以打開“庫路徑項目選項”對話框。
  8. 在“庫路徑項目選項”對話框中,將“連結類型”更改為“外部”。
    現在,可以使用“項目”>“生成項目”來編譯應用程式。
二.使用帶 Flash Professional 的 ANE 檔案
如果應用程式使用本機擴展,請在庫路徑中包含本機擴展的 ANE 檔案。然後可以使用 Flash Professional CS5.5 來編譯 ActionScript 代碼。請執行以下操作:
  1. 將 ANE 檔案的檔案擴展名從 .ane 更改為 .swc。必須執行此步驟,以便 Flash Professional 可以找到檔案。
  2. 在 FLA 檔案中,選擇“檔案”>“ActionScript 設定”。
  3. 在“高級 ActionScript 3.0 設定”對話框中,選擇“庫路徑”選項卡。
  4. 選擇“瀏覽到 SWC 檔案”按鈕。
  5. 瀏覽到 SWC 檔案,然後選擇“打開”。
    現在,SWC 檔案將會顯示在“高級 ActionScript 3.0 設定”對話框的“庫路徑”選項卡中。
  6. 選擇 SWC 檔案後,再選擇“為庫設定連結選項”按鈕。
  7. 在“庫路徑項目選項”對話框中,將“連結類型”更改為“外部”。
打包使用本機擴展的應用程式
使用 ADT 可打包使用本機擴展的應用程式。無法打包使用 Flash Professional CS5.5 或 Flash Builder 4.5.1 的應用程式。
例如,下面的 ADT 命令為使用本機擴展的應用程式創建一個 DMG 檔案(用於 Mac OS X 的本機安裝程式檔案):
adt -package     -storetype pkcs12     -keystore myCert.pfx     -target native     myApp.dmg     application.xml     index.html resources     -extdir extensionsDir
下面的命令為 Android 設備創建一個 APK 包:
adt -package     -target apk     -storetype pkcs12 -keystore ../codesign.p12     myApp.apk     myApp-app.xml     myApp.swf icons     -extdir extensionsDir
下面的命令為 iPhone 應用程式創建一個 iOS 包:
adt -package     -target ipa-ad-hoc     -storetype pkcs12 -keystore ../AppleDistribution.p12     -provisioning-profile AppleDistribution.mobileprofile     myApp.ipa     myApp-app.xml     myApp.swf icons Default.png     -extdir extensionsDir
需要注意的事項:
  • 使用本機安裝程式包類型。
  • 指定擴展目錄。
  • 確保 ANE 檔案支持應用程式的目標設備。
一.使用本機安裝程式包類型
應用程式包必須是一個本機安裝程式。您無法為使用本機擴展的應用程式創建跨平台 AIR 包(.air 包),因為本機擴展通常包含本機代碼。不過,通常本機擴展支持多個具有相同 ActionScript API 的本機平台。在這些情況下,可以在不同的本機安裝程式包中使用同一 ANE 檔案。
下表概述了用於 ADT 命令的 -target 選項的值:
應用程式的目標平台-target
Mac OS X 或 Windows 桌面設備
-target native
-target bundle
Android
-target apk
或其他 Android 包目標。
iOS
-target ipa-ad-hoc
或其他 iOS 包目標
iOS Simulator
-target ipa-test-interpreter-simulator
-target ipa-debug-interpreter-simulator
二.指定擴展目錄
使用 ADT 選項 -extdir 告知 ADT 包含本機擴展(ANE 檔案)的目錄。
三.確保 ANE 檔案支持應用程式的目標設備
提供 ANE 檔案時,本機擴展開發人員會告知擴展所支持的平台。您也可使用歸檔提取器工具查看 ANE 檔案的內容。所提取的檔案包含每個支持的平台的目錄。
打包使用 ANE 檔案的應用程式時,了解擴展所支持的平台十分重要。請考慮以下規則:
  • 要創建 Android 應用程式包,ANE 檔案必須包含 Android-ARM 平台。或者,ANE 檔案必須包含默認平台且至少包含一個其他平台。
  • 要創建 iOS 應用程式包,ANE 檔案必須包含 iPhone-ARM 平台。或者,ANE 檔案必須包含默認平台且至少包含一個其他平台。
  • 要創建 iOS Simulator 應用程式包,ANE 檔案必須包括 iPhone-x86 平台。
  • 要創建 Mac OS X 應用程式包,ANE 檔案必須包含 MacOS-x86 平台。或者,ANE 檔案必須包含默認平台且至少包含一個其他平台。
  • 要創建 Windows 應用程式包,ANE 檔案必須包含 Windows-x86 平台。或者,ANE 檔案必須包含默認平台且至少包含一個其他平台。

相關詞條

熱門詞條

聯絡我們