2008年4月7日月曜日

LinuxでAmateras AIR GEARを使ってAIRアプリケーションを作る

まずはLinux用のAIRをインストールする。

  • http://labs.adobe.com/technologies/air/
  • adobeair_linux_a1_033108.binがダウンロードされる。多少ファイル名は変わるかも?
  • そのままでは実行属性がついてなかったので実行属性を付加する。 $ chmod u+x adobeair_linux_a1_033108.bin

次にFlex3SDKをインストールする。

  • http://www.adobe.com/products/air/tools/sdk/
  • こっちは特にインストーラがあるわけではないので、適当なフォルダに展開する。

AIR GEAR pluginのjarを作成する

  • まずはEclipseRCP等、EclipsePluginをbuildできる状態のEclipseを起動する。
  • SVNリポジトリエクスプローラで以下を追加する。
    https://amateras.svn.sourceforge.net/svnroot/amateras
  • 「AmaterasAIR」の中のtrunkの下の「net.sf.amateras.air」をcheckoutする。
  • 「plugin.xml」をPlug-ins Manifest Editorで開き、
  • 「Exporting」ExportWizardを開く。
  • 「Export」ダイアログが表示されるので「Destination」タブの「Directory」で出力先を設定する。
  • 「Finish」をClick。
  • すると出力先で設定したフォルダに「plugins」フォルダが作成され、その中に「net.sf.amateras.air_1.0.0.jar」が作成されているはず。
  • このjarファイルを普段使用しているEclipseの「plugins」にコピーする。

AIR GEARを設定する

  • 先の手順で「net.sf.amateras.air_1.0.0.jar」を配置したEclipseを起動する。
  • まずは「Window」「Preference」を開いて「AIR」カテゴリを開く。
  • 「AIR SDK Path:」にAirをinstallしたフォルダを設定する。
  • 「Flex SDK Path:」にFlex3SDKをinstallしたフォルダを設定する。
  • 「OK」する。

AIRのプロジェクトを作成してみる

  • 「New」「Others」を選択すると、「AIR」というカテゴリがあるのでそれを展開。すると、「AIR Project」がふたつあるので、Flexの方を選択する。
  • 「AIRSample」等Project名を入力して「Finish」。
  • 「AIRSample.mxml」を開くとAIR GEARの「MXML Editor」が起動され、よくあるデザイナっぽいアレが開くはず。
  • 初期状態だと、加算をするだけの単純なSampleが勝手に展開されるよぅだ。まずはこのまま「Run As」から実行してみる!
  • はい、動作しません><
  • 「/opt/AdobeFlex3SDK/bin/adl: 1: Syntax error: "(" unexpected」とか出力されている。
  • 試しにterminalからadlを実行してみると、「cannot execute binary file」とか言われるので、そもそもadlコマンド自体がダメっぽい。
  • だがしかし!fcshコマンドやadtコマンドは生きているっぽいから、swf生成とAIRパッケージングはできるはず。現に、Eclipse上でアプリのデザインを変更するたびぬコンパイルが走ってswfが生成されている。つまり、Eclipseから実行できないものの、AIRアプリのパッケージングはできるはず。

AIRアプリケーションを生成する

  • terminalで以下を実行してオレオレ証明書を作成する。これが無いとAIRアプリを作成できないらすぃ。
  • $ $Flex3SDK_HOME/bin/adt -certificate -cn SelfSigned 1024-RSA shin1.pfx password 「shin1.pfx」と「password」は適宜変更する事。
  • もぅ一度Eclipseに戻って、Package Explorerで右Clickし「Export」を選択。
  • 「AIR」カテゴリから「AIR Package」を選択して「Next」。
  • 「KeyStore」に先ほど作ったオレオレ証明書のファイル名を入力、「StorePass」にそのパスワードを入力し、「Finish」。
  • 成功すると、「AIRSample.air」が生成されているのを確認できる。

生成したAIRアプリをインストール

  • これをダブルクリックすると、AIRのインストーラが起動される。

    つまり通常のAIRアプリと同じようにそのままインストールできる。
  • インストーラの指示にしたがってインストールしてみると、ちゃんと動いた!!!
  • ちなみに、2回目以降のExportの時はAIRインストーラが「Replace」してくれる。

Adobeさんへ

なぜLinuxでFlex2SDKのadlコマンドが動作しないのでしょうか。Linuxユーザを軽く見過ぎじゃないでしょうか。
つーわけで、せっかくAIR GEARでアプリを開発しようとしてもEclipseから即座に動作確認ができないため超不便です。ちなみに、MacとWindowsなら問題なくEclipseから実行できます。ただし!AIR GEARのActionScriptの編集機能はまだまだなので、GuiDesignerとして使うカンジで。
コメントを投稿