電卓を起動する AIR 2.0 アプリを作ってみた
February 16, 2010category: AIR Develop Flash Windows
"電卓を起動する 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
に Flex 3 SDK のパスが通っていることを確認。
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 ファイルをインストールする
air/Test.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.'

comments