Flex SDK を使用した初めての Android 用 AIR アプリケーションの作成

まず最初に、AIR および Flex SDK をインストールして設定します。このチュートリアルでは、Flex SDK の AMXMLC コンパイラーおよび AIR Debug Launcher(ADL)、AIR SDK の AIR 開発ツール(ADT)を使用します。Flex SDK の設定を参照してください。

また、「Android Developers:Installing the SDK」の手順に従って、Android Web サィトから Android SDK をダウンロードしてインストールする必要もあります。

注意: iPhone の開発について詳しくは、「Flash Professional CS5 での Hello World iPhone アプリケーションの作成」を参照してください。

AIR アプリケーション記述ファイルの作成

この節では、次の構造を持つ XML ファイルであるアプリケーション記述子の作成方法について説明します。

<application xmlns="..."> 
    <id>...</id> 
    <versionNumber>...</versionNumber> 
    <filename>…</filename> 
    <initialWindow> 
        <content>…</content> 
    </initialWindow> 
    <supportedProfiles>...</supportedProfiles> 
</application>
  1. HelloWorld-app.xml という名前の XML ファイルを作成し、プロジェクトディレクトリに保存します。

  2. 次の AIR 名前空間属性を含め、<application> エレメントを追加します。

    <application xmlns="http://ns.adobe.com/air/application/2.7"> 名前空間の最後のセグメントである「2.7」は、アプリケーションに必要なランタイムのバージョンを指定します。

  3. <id> エレメントを追加します。

    <id>samples.android.HelloWorld</id> アプリケーション ID は(アプリケーションパッケージに署名するために使用された証明書から AIR が派生させる)発行者 ID と共にアプリケーションを一意に識別します。推奨される形式は、「com.company.AppName」などのピリオド区切りの逆 DNS スタイルのストリングです。

  4. <versionNumber> エレメントを追加します。

    <versionNumber>0.0.1</versionNumber> インストールしているアプリケーションのバージョンをユーザーが確認できるようにします。

  5. <filename> エレメントを追加します。

    <filename>HelloWorld</filename> アプリケーション実行可能ファイル、インストールディレクトリに使用される名前であり、オペレーティングシステム内の参照に対しても同様です。

  6. 次の子エレメントを含む <initialWindow> エレメントを追加して、初期アプリケーションウィンドウのプロパティを指定します。

    <content>HelloWorld.swf</content> 読み込む対象となる AIR のルート HTML ファイルを識別します。

  7. <supportedProfiles> エレメントを追加します。

    <supportedProfiles>mobileDevice</supportedProfiles> アプリケーションがモバイルプロファイル上でのみ動作することを指定します。

  8. ファイルを保存します。完全なアプリケーション記述ファイルは、次のとおりです。

    <?xml version="1.0" encoding="UTF-8"?> 
    <application xmlns="http://ns.adobe.com/air/application/2.7"> 
        <id>samples.android.HelloWorld</id> 
        <versionNumber>0.0.1</versionNumber> 
        <filename>HelloWorld</filename> 
        <initialWindow> 
            <content>HelloWorld.swf</content> 
        </initialWindow> 
        <supportedProfiles>mobileDevice</supportedProfiles> 
    </application>

この例では、設定可能なアプリケーションプロパティのうち、一部のみが設定されます。アプリケーション記述ファイル内で使用できる、ほかの設定があります。例えば、initialWindow エレメントに <fullScreen>true</fullScreen> を追加して、フルスクリーンアプリケーションを構築できます。Android 上でリモートデバッグおよびアクセス制御機能を有効にするには、Android の権限をアプリケーション記述子に追加する必要もあります。この単純なアプリケーションには権限は必要ないので、ここでは権限を追加する必要はありません。

詳しくは、モバイルアプリケーションプロパティの設定を参照してください。

アプリケーションコードの記述

HelloWorld.as という名前のファイルを作成し、テキストエディターを使用して、次のコードを追加します。

package 
{ 
    import flash.display.Sprite; 
    import flash.text.TextField; 
     
    public class HelloWorld extends Sprite 
    { 
        public function HelloWorld() 
        { 
            var textField:TextField = new TextField(); 
            textField.text = "Hello, World!"; 
            stage.addChild( textField ); 
        } 
    } 
}

アプリケーションのコンパイル

アプリケーションを実行およびデバッグする前に、amxmlc コンパイラーを使用して MXML コードを SWF ファイルにコンパイルします。amxmlc コンパイラーは、Flex SDK の bin ディレクトリにあります。必要に応じて、コンピューターの PATH 環境変数を設定して Flex SDK の bin ディレクトリを追加します。PATH 変数を設定すれば、コマンドラインでユーティリティを簡単に実行できます。

  1. コマンドシェルまたは端末を開き、AIR アプリケーションのプロジェクトフォルダーに移動します。

  2. 次のコマンドを入力します。

    amxmlc HelloWorld.as 

amxmlc を実行することにより、HelloWorld.swf が作成されます。これには、コンパイルされたアプリケーションのコードが格納されています。

注意: アプリケーションがコンパイルされない場合、シンタックスエラーまたはスペルミスを修正します。エラーと警告は、amxmlc コンパイラーの実行に使用するコンソールウィンドウに表示されます。

詳しくは、AIR 用 MXML および ActionScript ソースファイルのコンパイルを参照してください。

アプリケーションのテスト

コマンドラインからアプリケーションの実行とテストを行うには、AIR Debug Launcher(ADL)を使用し、アプリケーション記述ファイルを使用してアプリケーションを起動します(ADL は、AIR および Flex SDK の bin ディレクトリにあります)。

 コマンドプロンプトから、次のコマンドを入力します。
adl HelloWorld-app.xml 

詳しくは、ADL を使用したデバイスシミュレーションを参照してください。

APK パッケージファイルの作成

アプリケーションが正常に実行されたら、ADT ユーティリティを使用して、アプリケーションを APK パッケージファイルにパッケージ化できます。APK パッケージファイルはネイティブの Android アプリケーションファイル形式であり、ユーザーに配布できます。

すべての Android アプリケーションには署名が必要です。AIR ファイルとは異なり、自己署名入り証明書で通常どおり Android アプリケーションに署名する必要があります。Android オペレーティングシステムでは、アプリケーション開発者の識別の確立は試行されません。ADT で生成した証明書を使用して、Android アプリケーションに署名できます。Android Market に送信するアプリケーションに使用される証明書には、少なくとも 25 年間の有効期間が必要です。

自己署名入り証明書とキーのペアの生成

 コマンドプロンプトから、次のコマンドを入力します(ADT 実行可能ファイルは、Flex SDK の bin ディレクトリにあります)。
adt -certificate -validityPeriod 25 -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

この例では、証明書に対して設定できる最小限の数の属性を使用しています。キーのタイプは、1024-RSA または 2048-RSA にする必要があります(ADT certificate コマンドを参照してください)。

AIR パッケージの作成

 コマンドプロンプトから、次のコマンドを入力します(1 行に入力)。
adt -package -target apk -storetype pkcs12 -keystore sampleCert.p12 HelloWorld.apk HelloWorld-app.xml HelloWorld.swf

キーストアファイルパスワードを求めるプロンプトが表示されます。パスワードを入力し、Enter キーを押します。

詳しくは、モバイル AIR アプリケーションのパッケージ化を参照してください。

AIR ランタイムのインストール

Android Market から AIR ランタイムの最新バージョンをデバイスにインストールできます。SDK に含まれているランタイムも、デバイスまたは Android エミュレーターにインストールできます。

 コマンドプロンプトから、次のコマンドを入力します(1 行に入力)。
adt -installRuntime -platform android -platformsdk

Android SDK ディレクトリに -platformsdk フラグを設定します(tools フォルダーの親を指定します)。

ADT が、SDK に含まれている Runtime.apk をインストールします。

詳しくは、開発を目的とした AIR ランタイムとアプリケーションのインストールを参照してください。

AIR アプリケーションのインストール

 コマンドプロンプトから、次のコマンドを入力します(1 行に入力)。
adt -installApp -platform android -platformsdk path-to-android-sdk -package path-to-app

Android SDK ディレクトリに -platformsdk フラグを設定します(tools フォルダーの親を指定します)。

詳しくは、開発を目的とした AIR ランタイムとアプリケーションのインストールを参照してください。

アプリケーションは、デバイスまたはエミュレーターのスクリーン上のアプリケーションアイコンをタップして起動できます。