プログラマのためのFlash遊び方

第9回 AIRに挑戦

この記事を読むのに必要な時間:およそ 5 分

最終回となる今回は,Flex3 SDKを利用して,AIRアプリケーションを作成します。AIR(Adobe Integrated Runtime)とは,ActionScript3.0やFlexを利用してデスクトップアプリケーションを作るための仕組みです。OSの違いを意識することなくデスクトップアプリケーションが作成できるのは大変魅力的です。現在,WindowsとMac OSがサポートされていますが,Linux版のランタイムもリリース予定となっています。

コマンドラインツールでAIRを作ろう

AIRでは既存のFlashをAIRアプリケーションとして利用することができます。そこで,第2回で作成したDrawTest1.swfを利用してみます。

AIRとして実行するには,アプリケーション記述ファイルと呼ばれるファイルを作成します。

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
    <id>DrawTest1</id>
    <version>0.1</version>
    <filename>DrawTest1</filename>
    <initialWindow>
        <content>DrawTest1.swf</content>
        <visible>true</visible>
        <systemChrome>standard</systemChrome>
        <transparent>false</transparent>
    </initialWindow>
</application>

このファイルをDrawTest1-app.xmlとして保存します。同じフォルダにDrawTest1.swfも置いておきます。

テスト実行

テスト実行するにはadl コマンドにアプリケーション記述ファイルを渡します。

adl DrawTest1-app.xml

実行すると次のような画面が表示されます。分かりにくいですが,単独のアプリケーションとして起動されています。Flash Playerが表示されているわけではありません。

画像

パッケージ化

さて,このAIRアプリケーションを配布用にパッケージ化してみましょう。アプリケーションというにはあまりにも寂しいですが,今のうちは我慢してください。

AIRではアプリケーションのセキュリティ確保のために,電子署名する必要があります。ここでは,開発用として自己署名の証明書を作成されます。

adt -certificate -cn SelfSigned 1024-RSA cert.pfx SamplePassword

SamplePassword というパスワードで署名した証明書cert.pfx が生成されました。

証明書が作成できたら,adt-packageコマンドを実行してパッケージ化します。パラメータの数が多くてややこしいですが,次のような順序で指定します。

adt -package -storetype pkcs12
  -keystore [証明書のパス]
  [パッケージのパス]
  [アプリケーション記述ファイルのパス]
  [パッケージに含めるファイル(複数指定可)]

「パッケージに含めるファイル」には AIR アプリケーションを構成するファイルを全て指定します。今回はDrawTest1.swfのみから成り立っているため,DrawTest1.swfのみを指定します。

結果として,adtコマンドのオプションは次のようになります(実際には1行で入力します)。

adt -package -storetype pkcs12
  -keystore cert.pfx
  DrawTest1.air
  DrawTest1-app.xml
  DrawTest1.swf

証明書のパスワードを聞かれるので,先ほど設定したパスワード(ここではSamplePassword)を入力します。

password: SamplePassword

これでDrawTest1.airの完成です。

作成したAIRをインストールする

それでは,作成したアプリケーションをインストールしてみましょう。インストールするには事前にAIRランタイムがインストールされている必要があります。AIRランタイムはhttp://get.adobe.com/airからダウンロードできます。

AIRランタイムが導入された状態でDrawTest1.airを実行すると,インストーラが立ち上がります。

画像

アプリケーションの情報として,Publisher,Application,System Accessという項目が表示されています。PublisherはUNKNOWNになっていますが,これは自己署名の証明書を利用しているためです。Applicationにはアプリケーション記述ファイルで指定した「DrawTest1」という文字列が表示されています。System Access(システムアクセス権)はUNRESTRECTED(無制限)となっていますが,AIR1.0では全てのアプリケーションは無制限にアクセス権を持っています。

Installボタンを押すと,インストールのオプションが表示されます。

画像

Continueボタンを押して少し待つとインストールは完了です。自動的にアプリケーションが起動します。

Windowsの場合,アプリケーションはデフォルトでC:\Program Filesの下にインストールされています。DrawTest1.exeというファイルが作成されていますね。

画像

なお,アプリケーションのアンインストールは,コントロールパネルの「プログラムの追加と削除」から行えます。

著者プロフィール

最田健一(さいたけんいち)

有限会社 CO-CONV勤務のプログラマ。京都在住の京都好き。趣味で ActionScript 3.0やFlex 2を触っていたら,いつの間にか仕事でも使うことになっていた。個人ブログは「てっく煮ブログ」。

URLhttp://tech.nitoyon.com/

コメント

  • Re:

    すいません。javaのパスがうまくいってなかっただけでした・・・

    Commented : #2  M777 (2008/06/11, 01:28)

  • adtができなくて・・・

    はじめまして。

    現在DTPデザイナーのものです。

    最近、Flexに興味をしめしこのサイトで勉強させていただきました。
    初心者の自分にでもなんとかできるとてもわかりやすい解説でとても助かります。

    一通りやって最後にairにちょうせんまでいきましたが・・・

    自己署名の証明書ができません。
    エラーメッセージは
    java は 内部コマンドまたは外部コマンド、・・・・・認識されてません。
    とでてきます。

    javaは最新のものなので・・・いったいなにがわるいのでしょうか?
    もしわかるのであれば教えてください。

    Commented : #1  M777 (2008/06/10, 02:05)

コメントの記入