"電卓を起動する AIR 2.0 アプリ" ができるまでのメモ。
0. 開発環境
- Windows XP
- FlashDevelop 3.0.6 RTM (C:/FlashDevelop)
- Flex 3 SDK (C:/flex_sdk_3)
1. AIR 2.0 Beta 2の SDK を入れる
- Adobe Labs からダウンロード。ランタイムも忘れずに。
- zip を解凍して、中身を Flex 3 SDK のディレクトリにコピーする。
2. FlashDevelop の設定をする
Tools -> Program Settings -> AS3Context -> Flex SDK Location
3. AIR プロジェクトを作る
Project -> New Project -> AIR AS3 Projector
ここではプロジェクト名を Test とする。
4. application.xml を編集する
プロジェクトフォルダ内の application.xml をエディタで開き、1.5 の所を 2.0beta2 にする。また、supportedProfiles タグを追記する。
<?xml version="1.0" encoding="utf-8" ?> <application xmlns="http://ns.adobe.com/air/application/2.0beta2"> ... <supportedProfiles>extendedDesktop</supportedProfiles> ... </application>
5. コードを書く
プロセスの実行エンジンが NativeProcess クラスで、実行する内容は NativeProcessStartupInfo らしい。
package { import flash.events.Event; import flash.display.Sprite; import flash.desktop.NativeProcess; import flash.desktop.NativeProcessStartupInfo; import flash.filesystem.File; /** * 電卓を起動するアプリ * @author tanabe */ public class Main extends Sprite { private var process:NativeProcess; /** * コンストラクタ */ public function Main():void { stage ? initialize() : addEventListener(Event.ADDED_TO_STAGE, initialize); } /** * 初期化 * @param event イベント */ private function initialize(event:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, initialize); var info:NativeProcessStartupInfo = new NativeProcessStartupInfo(); var file:File = File.applicationDirectory.resolvePath("C:/WINDOWS/system32/calc.exe"); info.executable = file; process = new NativeProcess(); process.start(info); } } }
6. コンパイルする
F5 を押すだけ。この時点で電卓が起動する。
7. パッケージ化する
- CreateCertificate.bat を実行する
- PackageApplication.bat を実行する。パスワードは fd。CreateCertificate.bat で定義している。
8. AIR ファイルをインストールする
補足 1. Windows の .bat ファイルは実行できない
Windows の .bat ファイルは、セキュリティ上実行できない (リファレンス)。実行しようとすると以下のようなエラーになる。
[Fault] exception, information=Error: Error #3219: The NativeProcess could not be started. 'Files with '.bat' extensions cannot be launched.'