ANEtty Document

Appendix1 : 用語解説

主に、ANEttyの利用における用語を説明します。ANE自体の用語については、本家のドキュメント(Adobe Flash Platform * AdobeAIR 用ネイティブ拡張の開発)をご参照ください。

ANE
略語。「AIR Native Extension」とも「ActionScript Native Extension」とも呼ばれます。どちらが正式名称かは判りません。また、呼び方も諸説ありますが「エーエヌイー」が正式な呼び方と思われます。日本の一部の人には「アネ」「姉(ローマ字で書くとaneのため)」と呼ばれたりします。

ANE-SWC

造語。AIRアプリケーションとネイティブ実装との間に必要となるASライブラリです。主に下記の「ANE-Interface-SWC」と「ANE-Impl-SWC」に分けられます。なお、公式のドキュメントでは「ANE SWF」と呼ばれている模様です。SWFとされている理由は、実際に必要なのはSWC内のlibrary.swfだからだと思われますが、ANEttyでは両方swcファイルで指定を行いますので、ANE-SWCで統一します。

ANE-Interface-SWC

造語。ANE-SWCのインターフェイス版。AIRアプリケーションからネイティブ実装を扱う際のインターフェイスとして機能します。あくまでインターフェイスのため、メソッドの内部実装は無視されます。

ANE-Impl-SWC

造語。ANE-SWCの実装版。上記のインターフェイスを通して呼ばれる実装用ASライブラリ。このSWCは内部実装を実行されるので、記述しておく必要があります。また、このSWCはプラットフォーム毎に設定することが出来ます。そのため、例えばAndroidとiOSでネイティブの呼び出し方を変える実装なども行うことが可能です。

ANEttyにおいては、プラットフォームの設定においてANE-Impl-SWCを指定しなかった場合、ANE-Interface-SWCを代替として配置しパッケージ化します。つまり、ANE-Interface-SWCを内部実装をした状態で組んでおけば、InterfaceとしてもImplとしても扱うことが出来るようになります。

ANE Version

造語。ANEを作る際のextension.xmlに記述する名前空間のバージョン部分を指します。(例 : http://ns.adobe.com/air/extension/3.4)。使用するAIR SDK、ANE-SWCに従って、ANE Versionの選択肢が変わるために注意が必要ですが、ANEttyでは自動でこれらを認識することによって適切なANE Versionの範囲を提示します。

AIRバージョンとANEバージョンの関係性の詳細は、公式ドキュメントのネイティブ拡張の ActionScript ライブラリの構築の「SWF バージョンの互換性」を参照ください。

defaultプラットフォーム

例えばWindowsOS上においてANEを扱ったAIRアプリケーションを使用した際、ANEにWindows版の実装がなかった場合はdefaultという特別なプラットフォームを実行されます。defaultプラットフォームはAS実装のみとなります。主にネイティブ実装が無いプラットフォームでの利用におけるフォールバックとして利用されます。

通常のANEのビルドにおいて、もし実行環境のプラットフォームがANEでサポートされておらず、更にdefaultプラットフォームがANEに実装されていない場合、実行時エラーが起きますので注意してください。

ANEttyにおいては、defaultを指定せずにANEをパッケージ化した場合、ANE-Interface-SWCを代替としてdefaultに配置しパッケージ化します。つまり、ANE-Interface-SWCを内部実装をした状態で組んでおけば、InterfaceとしてもImplとしても扱うことが出来るようになります。

TimeStamp

ADTでのパッケージングで証明書を扱う際、デフォルトでは電子署名にタイムスタンプを付与するために、自動的にタイムスタンプサーバーへ接続されます。ここでインターネット接続がない場合、この処理を行うことができないため、パッケージ化が失敗します。つまり、ANEttyを扱う際にネット環境のない状態で証明書を使用し、なおかつ「TimeStamp」の項目をONにした状態でANEをパッケージ化しようとすると、エラーが発生します。

どうしてもインターネットに接続しない状態でパッケージ化を行いたい場合、プロジェクトごとのオプションで「Time Stamp」をOFFにすると、パッケージ化の際にタイムスタンプ付与を行わないようにすることができます(-tsaオプションをnoneに設定)。ただし、この意味を理解したうえで扱うことを推奨します。また、ANEにおいてタイムスタンプ機能の意味合いがはたしてAIRと同じであるかは不明ですので、ご留意ください。

タイムスタンプに関しては、詳しくは「Adobe AIR * ADT(AIR 開発ツール)を使用した AIR インストールファイルのパッケージ化」の「ADT コマンドラインの署名オプション」にある「-tsa url」の部分を参考にしてください。