Apache FlexでHelloWorldアプリを作り、配布できるようにパッケージングするところまで(AIR for Desktop)


はじめに

Apache Flex を使って、Hello Worldを表示するデスクトップアプリを作成します。
また、配布できるようにパッケージングするところまでの手順を書きます。
IDEは利用せずに、コマンドプロンプトにてコンパイル等を行います。

アプリの完成イメージ

試した環境/バージョン

Windows 10
Apache Flex 4.16.1
Adobe AIR 32.0.0.116

環境作成

環境作成の手順は以下を参照
Apache FlexでAdobe AIRアプリを作るための環境作成(zipを利用する場合)

Hello World アプリの作成、実行

作業用フォルダーの作成

任意の場所にフォルダーを作成する
(今回は、MyApplicationというフォルダー名でフォルダーを作成)

mxmlの作成

アプリの画面デザインをMXMLで、処理をActionScriptで記述する

Main.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                       xmlns:s="library://ns.adobe.com/flex/spark"
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       width="400" height="300">

    <fx:Style>
        * { 
            font-family: "Meiryo";
        }
    </fx:Style>

    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;

            /**
             * アラートを表示する処理
             */
            private function showMessage():void {
                // アラートを表示
                Alert.show('Hello World');
            }
        ]]>
    </fx:Script>

    <!-- ラベル -->
    <s:Label left="10" top="10" text="Click the button."/>

    <!-- ボタン -->
    <s:Button left="10" top="40" label="Click Me" 
        click="showMessage();" />

</s:WindowedApplication>

コンパイル

コマンドプロンプトで以下を実行するとMain.swfが作成される

> amxmlc Main.mxml

application.xmlの作成

以下のxmlを作成する

application.xml
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/32.0">
    <id>MyApplication</id>
    <versionNumber>1.0</versionNumber>
    <filename>MyApplication</filename>
    <initialWindow>
        <content>Main.swf</content>
        <requestedDisplayResolution>high</requestedDisplayResolution>
    </initialWindow>
</application>

アプリの実行

コマンドプロンプトで以下を実行するとデスクトップアプリが起動する

> adl application.xml

配布できるようにパッケージング

証明書の作成

コマンドプロンプトで以下を実行
※最初に作成するときの1回のみ実行する

> adt -certificate -cn "TestCert" 2048-RSA "TestCert.p12" pass

TestCert.p12が作成される

パッケージング

コマンドプロンプトで以下を実行

> adt -package -tsa none -storetype pkcs12 -keystore "TestCert.p12" -storepass pass Main.air application.xml Main.swf

Main.airが作成される

このMain.airを実行することで作成したアプリをインストールすることができる
(インストール、アプリの実行にはAdobe AIRのインストールが事前に必要だが、WindowsとMacの両方のOSに対応)

Adobe AIRを内包してパッケージングしたい場合

もし、Adobe AIRを内包してパッケージングしたい場合は以下

> adt -package -tsa none -storetype pkcs12 -keystore "TestCert.p12" -storepass pass -target bundle Main application.xml Main.swf

Mainフォルダが作成される
MyApplication.exeを実行することでアプリを実行できる
(アプリのインストール作業が不要となり、また、Adobe AIRのインストールをしなくてもアプリを実行することができる)

とりあえず今回はここまで