Develop with pleasure!

福岡でCloudとかBlockchainとか。

MavenでAIRアプリのインストールパッケージを作成

Mavenを使って、インストール可能なAIRアプリのパッケージ(.airファイル)をビルドする。

MavenからAIRやFlexをコンパイルするにはflex-mojosを使う。ビルド自体は以前記載したpom.xmlで可能↓。

flex-mojosでAIRアプリケーションをビルド。 - Develop with pleasure!

↑でswfファイルは生成されるので、今度はこれをAIRのインストールパッケージにする。

まず、最初にパッケージングの際に必要となる、署名ファイルを生成する。
以下のコマンドを実行すると署名ファイルが生成される。

java -classpath "C:\Documents and Settings\hoge\.m2\repository\
com\adobe\air\adt\1.0\adt-1.0.jar" com.adobe.air.ADT -certificate -cn SelfSigned 1024-RSA certificate.pfx  password

certificate.pfxという自己署名の署名ファイルが生成されるので、これをcertsフォルダを生成し、その直下に配置しておく。(特にcertsという名前のフォルダが必要という訳ではなく、↓のpom.xmlに署名ファイルまでのパスが記載されてればOK)

続いて、pom.xmlに下記内容を追記する。

...

<build>
...
  <plugins>
  ...
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>1.1.1</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>exec</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <executable>java</executable>
        <!-- 作業ディレクトリを設定 -->
        <workingDirectory>${basedir}</workingDirectory>
        <arguments>
          <argument>-classpath</argument>
          <classpath/>
          <argument>com.adobe.air.ADT</argument>
          <argument>-package</argument>
          <argument>-storetype</argument>
          <argument>pkcs12</argument>
          <argument>-storepass</argument>
          <!-- パスワード -->
          <argument>password</argument>
          <argument>-keystore</argument>
          <!-- 証明書ファイルのパスを指定 -->
          <argument>certs/certificate.pfx</argument>
          <!-- ビルドしたファイルの出力先 -->
          <argument>target/${project.artifactId}.air</argument>
          <!-- アプリケーション記述ファイルのパス。(FlexBuilderでは、main-app.xmlとして生成される) -->
          <argument>application.xml</argument>
          <!-- 梱包するSWFファイル -->
          <argument>target/${project.artifactId}-${project.version}.swf</argument>
        </arguments>
      </configuration>
    </plugin>
  </plugins>
</build>
...

これで準備完了。あとは、

mvn install

すれば、AIRアプリのインストールパッケージが生成される。