7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AntによるAIRアプリケーションのパッケージ生成

Last updated at Posted at 2013-09-23

目的

この記事に書いてあるのは、AIRアプリケーションのインストールパッケージ(.air)を ant で生成する部分。
最終目的は、Jenkinsでインストールパッケージを 定期的に or オンデマンドで生成すること。

概要

Flex SDK同梱のFlexTasksを用いて、Antでmxmlおよびasをswfファイルにコンパイルし、
Antからadtコマンドを叩いて インストールパッケージ(.airファイル)を出力する。

環境

  • Mac OS X 10.7.5
  • Flex SDK 4.1.0
  • Ant 1.8.2

関連ファイルの内容

antによるビルド

buildターゲットでswfファイルを作成し、build_airターゲットで.airインストールパッケージを出力する。
後者はadtコマンドを実行する処理をAntで書いているだけ。

参考.
ADT package コマンド
ADT コード署名のオプション

swf作成用のAntタスクについて

flexTasks.jarをわざわざbuild_libに配置しているが、
{SDKインストールディレクトリ}/ant/libに配置されている。

AIR証明書について

事前に下記コマンドにて作成している前提。

証明書生成
adt -certificate -cn nt67 -ou org -o "nt67 .org" -c JP 2048-RSA air_key_store.p12 testpass

antファイル本体

build.xml

<?xml version="1.0" encoding="utf-8"?>
<project name="air project" basedir="." default="build_air">
  <property name="FLEX_HOME" value="/Applications/Adobe Flash Builder 4 Plug-in/sdks/4.1.0"/>
  <property name="flex_bin" value="${FLEX_HOME}/bin" />
  <property name="output.file" value="project" />
  <property name="APP_ROOT" value="." />
  <taskdef resource="flexTasks.tasks" classpath="${basedir}/build_lib/flexTasks.jar" />

  <target name="build" description="build swf">
    <mxmlc file="${APP_ROOT}/project.mxml"
	   keep-generated-actionscript="true"
	   debug="false"
	   optimize="true"
	   configname="air"
	   output="${output.file}.swf">
        <load-config filename="${FLEX_HOME}/frameworks/air-config.xml"/>
        <source-path path-element="${FLEX_HOME}/frameworks"/>
    </mxmlc>
  </target>

  <target name="build_air" description="Create the AIR package">
    <exec executable="${FLEX_HOME}/bin/adt" failonerror="true">
      <arg line="-package" />
      <!-- AIR SIGNING OPTIONS -->
      <!-- adt -certificate -cn nt67 -ou org -o "nt67 .org" -c JP 2048-RSA air_key_store.p12 testpass-->
      <arg line="-storetype pkcs12" />
      <arg line="-keystore ${basedir}/air_key_store.p12" />
      <arg line="-storepass testpass" />
      <arg line="-keypass testpass" />

      <!-- Output format -->
      <arg line="-target air" />

      <arg line="${output.file}.air" />
      <arg line="application.xml" />
      <arg line="-C . ${output.file}.swf" />
    </exec>
  </target>
</project>


アプリケーションディスクリプタの設定

xmlnsのバージョンは AIRランタイムバージョンに依存する部分。
対応を確認すること。

AIR アプリケーション記述エレメント

application.xml
<?xml version="1.0" encoding="utf-8" ?> 
<application xmlns="http://ns.adobe.com/air/application/2.0"> 
    <id>org.nt67</id> 
    <version>0.0.1</version> 
    <filename>test_project</filename> 
    <name>Test Project</name> 
     <description> 
        <text xml:lang="en">This is an example.</text> 
        <text xml:lang="ja">てすと.</text> 
        <text xml:lang="es">Esto es un ejemplo.</text> 
    </description> 
    <copyright>Copyright (c) 2013 nt67</copyright> 
    <initialWindow> 
        <title>Hello World</title> 
        <content>project.swf</content> 
    </initialWindow>  
</application>
7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?