Flex 3 SDKを使い、無料の環境でairを生成してみる

ちょっと調べ物をしていたら、FlexSDKの中に含まれるamxmlcなどを使えば無料環境でAIRファイルが作れることがわかったので、実際に試してみることにしました。
MXMLファイルを作るサンプルはネット上にもいろいろあるのですが、基本はswfを作るmxmlcと同様なので、以前のエントリにアップしたActionScriptだけでswfを作るサンプルを元にAIRアプリを作ってみます。

amxmlc: SWFはコンパイラを切り替えて再作成

まず最初は、mxmlcを使っていたところをamxmlcに切り替えます。ソースとなるActionScriptファイルは以前と全く同じFirstCircle.asを使います。

> amxmlc FirstCicle.as

(作業中のコマンドラインをよく見るとコンフィグファイルにflex-config.xmlの代わりにair-config.xmlを読み込んでいることが分かります。)
これでアプリは基本部分が完成しました。

XMLファイルの準備

次に、AIRアプリの内部仕様を記述したXMLファイルを用意します。
以下の内容をFirstCicle-app.xmlと名づけて保存します。

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
  <id>FirstCircle</id>
  <version>0.0</version>
  <filename>First Circle</filename>
  <name>FirstCircle is test AIR application</name>
  <description>test AIR</description>
  <copyright>octech</copyright>
  <initialWindow>
    <content>
      FirstCircle.swf
    </content>
    <systemChrome>standard</systemChrome>
    <transparent>false</transparent>
    <visible>true</visible>
    <width>640</width>
    <height>480</height>
  </initialWindow>
</application>

オリジナルアプリアイコンなどを指定するときには上記ファイルに追加しますが、とりあえず今回はシンプルにしておきます。
XMLの内容の詳細はこのページを参考にしてください。

adl: デバッグ実行

これまでで出来たファイルは、FirstCicle.swfとFirstCicle-app.xmlです。これで基本的には素材はそろっているので、adl(AIR Debug Launcher)というアプリで、デバッグ実行してみます。

>adl FirstCircle-app.xml

これで無事にswfが実行されたときと同じ内容が表示されているはずです。
また、adlで実行したとき、trace出力はコンソールに行われます。

adt for pfx: 証明書の準備

しかしこれだけではアプリとして完成していません。アプリを配布できるようにするためには、最後にパッケージングという作業を行う必要があります。
そのためには、もう一つ、pfxファイルというのを用意する必要があります。
FlexSDK3.0からpfxファイルを必要とするようになったらしいのです。
これはアプリの証明書で、大きな企業とかなら第三者機関から証明をしてもらうのでしょうが、一デベロッパのテストなら、自分で作成してしまいます。
とりあえず、"TestAIR"という名前で、パスワードを"RIAtseT"とした証明書を作成します。

>adt -certificate -cn TestAIR 2048-RSA testair.pfx RIAtseT

これでtestair.pfxという証明書が出来ました。これはアプリと1対1で持つ必要はないみたいなので、本格的なアプリを作るのでなければ、一度作っておいて使い回せばよいでしょう。

adt for air: AIRインストーラの完成

最後に、これまでのファイル(FirstCircle-app.xml, FirstCircle.swf, testair.pfx) を、FirstCircle.airという配布用アプリにまとめます。

>adt -package -storetype pkcs12 -keystore testair.pfx
  FirstCircle.air FirstCircle-app.xml FirstCircle.swf

パスワードを聞かれるので、証明書を作ったときのパスワードを入力します。

参考書籍

Adobe Flex 2プロフェッショナルガイド Windows & Macintosh対応

Adobe Flex 2プロフェッショナルガイド Windows & Macintosh対応

CHAPTER-8にコマンドラインでのAIR作成手順が載っています。
ただし、ちょっとした誤植が結構あるので注意→誤植 - Flex2 プロフェッショナルガイド