Package Assistant Proの使い方

Package Assistant Proは必要なファイルをまとめてapkファイルを出力することができるツールです。
従来だとコマンドラインから難解な文字を呪文のように打ち込まなければいけませんが、Package Assistant Proを使うと簡単にパッケージすることができます。

ここでは具体的に使い方を説明します。まず、利用する前に必要なファイルを用意します。
必須ファイルは以下の3点です。

  • swfファイル
  • xmlファイル
  • 証明書ファイル

上記以外にアイコン用の画像やアプリ内で利用するファイルがあれば予め同じ場所に用意しておくと便利です。

1、PackageAssistanProを起動する。

※まだ、設定作業を行っていない場合はこちら

.apkファイルを作成するので真ん中のボタン「Package APK」ボタンをクリックします。

2、XMLファイルを指定します。

事前に準備したXMLファイルへのパスを入力もしくは参照ボタンを押して指定します。

3、SWFファイルへのパスを確認します。

前画面で入力したxmlファイル内のswfファイルへのパスを元に画面に絶対パスを表示するのでこのパスにきちんとswfファイルがあるかどうかを必ず確認してください。ない場合はXMLの記述を変更してください。

問題なければ「Next」ボタンを押します。

4、追加ファイルを登録します。

とくにない場合はスルーでOKです。

5、個人証明書のパスワードを入力します。

個人証明書を作成した時と同じパスワードを入力します。

6、APKの出力先のパス、APKの名前を入力する。

「Directory」に出力先のパスを、「Filename」に出力するAPKの名前(任意)を入力する。
「Compile」ボタンを押すとAPKファイルが作成されます。

※ここで最初に登録したxmlやswfに不備があると、上記で指定したディレクトリにAPKファイルは作成されず、すぐ完了画面に移行します。
APKファイルが作成されない場合はXMLファイルの記述に不備があると思ってください。
正常にコンパイルされている場合は下の画面を経由した後、完了画面に移行します。

以上でAPKの作成が完了しているはずです。

apkファイルの端末(エミュレータ)へのインストール方法

準備

  • apkファイルを作成し、任意の場所に置きます。
  • androidSDKがインストールされていることを確認します。
  • 端末をUSBでつなぐか、エミュレータを立ち上げます。

1、コマンドプロンプトを立ち上げる

スタートメニューから「ファイル名を指定して実行」を選ぶ。

ダイアログボックスに「cmd」と入力して「OK」ボタンを押す。

2、apkファイルが置いてある場所まで「cd」コマンドで移動します。

※今回はCドライブ直下にtest.apkを置いていると仮定します。

cd c:¥ と入力してcドライブの直下に移動します。

3、adbコマンドでapkファイルをデバイスにインストールします。

adb install test.apk と入力します。

※すでに同じアプリがインストールされていて、上書きインストールした場合は-rオプションを使います。

adb install -r test.apk

Sucessと表示されると完了です。

端末orエミュレータにアプリがインストールされていることを確認してみてください。

<うまくいかない場合は下の事項を疑ってみてください>

  • androidSDKのadbコマンドがOSの環境変数に登録されていない。
  • 移動した場所にapkファイルが存在しない。
  • 端末のデバッグ設定を行っていない。
  • スペルミス

いずれにしても失敗した場合はエラーメッセージが出ますので、それをもとにトラブルシューティングすればきちんとインストールできるはずです。

FlashDevelopでのairforandroid開発環境について

FlashDevelopにおいても少し手順は複雑ですが開発することが出来ます。

自分の環境は以下になります。

  • windowXP SP3
  • FlashDevelop3.2.2

開発の前段階として以下の作業が完了していると想定しています。

上の作業が完了したら次の手順にそって作業してみてください。

1、flashdevelopのプロジェクトテンプレートをダウンロードする。

flashdevelopのフォーラムからandroid開発用のプロジェクトテンプレートをダウンロードする。

ダウンロードはこちら

ダウンロードした後、解凍します。

解凍したフォルダの中に

フォルダをFlashDevelopをインストールしたフォルダのProjectフォルダに入れます。

Projectフォルダに入れると新規プロジェクトの作成時に今いれたプロジェクトテンプレート「AIR AS3 Projector For Android」が選択できるようになります。

例 C:¥Program Files¥FlashDevelop¥Projects¥

2、FlexSDKにairforandroidSDKをマージ(混ぜる)します。

解凍したFlex4SDKフォルダに解凍したairforandroidSDKのフォルダをいれて混ぜ、特殊なSDKを作ります。

混ぜたフォルダは分かりやすい名前(例:flexandroidsdk)にリネームします。

ここではマージしたカスタムFLEXのパスをC:¥flexandroidsdk¥

またマスターのairforandroidSDKのパスをC:¥airforandroid¥

とします。

3、FlashDevelopを起動します。

メニューから「Project」 >>「New Project」を選びます。

ダイアログが開くのでここで「AIR AS3 Projector for Android」を選択します。

次にメニューから「Project」>>「Property」をたどり、plarhomeのTargetが「FlashPlayer10.1」になっていることを確認します。
その後同ダイアログ内の「Compair Option」タブをクリックします。
あとGeneralのOutput file(swfの出力先)がbinフォルダになっているので直下に出力するように変更します。

変更前 Output file > bin\NewProject.swf
変更後  Output file > NewProject.swf
※xmlファイルとswfファイルは同一階層に置いておいたほうがパッケージするときに便利です。

上から3行目のCustom Path to Flex SDKの欄に先ほどマージしたSDKのパスを挿入します。

以上で設定完了です。
設定が完了すると下のようにairforandroidのクラスがコードヒントで利用できるようになります。

適当なコードを書いてテストしてみます。

package
{
	import flash.display.Sprite;
	import flash.media.CameraUI;
	import flash.media.MediaType;

	public class Main extends Sprite
	{

		public function Main():void
		{
			if (CameraUI.isSupported) {
				var cam:CameraUI = new CameraUI();
				cam.launch(MediaType.IMAGE);
			}
		}
	}
}

プログラムが書けたらキーボードのF5を押してコンパイルします。

上のプログラムはairforandroid用のクラスを利用したのでデスクトップのAIR上では何も表示されていませんが正しくコンパイルされていますので次の作業に移ります。

4、apkファイルを作成します。

swfのコンパイルができたら、これをandroidにインストールできるapkと呼ばれるファイル形式に変換しなければいけません。
必要なファイル(swf,xml,p12 etc)をapkファイルにまとめてくれる便利なソフトPackageAssistantProがあるのでこれを利用します。
apkは以下のファイルをまとめて一つにしたものです。

  • swfファイル(※.airファイルは使いません)
  • application.xml(設定用のXMLファイルで名前は変えてOK)
  • 証明書ファイル(例:mycert.p12)
  • アイコン画像ファイル
  • その他アプリで読み込むファイルなど

ここでは簡単なPackageAssistantProを使ってまとめてみます。

PackageAssistantProを使ったapkファイルの詳しいまとめ方は下の記事を参照ください。

PackageAssistantProの使い方

5、apkファイルをデバイスにインストールします。

apkファイルのインストール方法について

以上がFlashDevelopでの開発方法になります。

手順が煩雑だな~思われる方は迷わずFlash CS5を使ってください。とっても簡単です。

airforandroidの開発方法について

※この記事は手探りで書いたので誤りがあるかもしれません。誤りを発見した場合指摘頂けると幸いです。

初心者向けのairforandroidの開発環境でおすすめはFlashCS5です。
自由度やもっとテクニカルな面を追求したい場合はFlashDevelopなどがおすすめです。
開発にあたってまず準備が必要になると思いますが、以下のような手順で環境を揃えていきます。

※WindowXPを元に書きましたのでMacの場合は適宜必要箇所変更お願いします。

1、開発環境に関係なく共通で必要なものをそろえます。

  • airforandroid SDK(ダウンロード,ドライブ直下などに展開する)
  • p12証明書

2、各開発環境における設定をおこないます。

3、パッケージしたapkファイルを端末やエミュレータにインストールします。

<各開発環境における設定>

FlashCS5で開発する場合(オススメ)

まずAIRforAndroid_FlashCS5.zxpをダウンロードします。

↑をダブルクリックしてインストールします。

FlashCS5を立ち上げます。

テンプレートの中にAIR for Androidが追加されていますのでこれをクリック。

適当に新規ファイル作成して、プロパティの中のAIR Android 設定右横の「編集」ボタンを押します。

※上の画面はβ版なので正式リリース後は日本語化されているかもしれません。

↑の画面に上から証明書へのパスとandroidSDKのadb.exeへのパスを記述します。

以上で終了です。

FlashDevelopで開発する場合

詳細な記事を書きましたのでこちらを参考ください。

Flash Builderで開発する場合

新規のflexProjectを作成します。

新規プロジェクトの設定画面でアプリケーションの種類をデスクトップに設定して、SDKのバージョンを「特定のSDKを使用する」にチェックをいれます。

右端にある「Flex SDKの設定」リンクをクリックします。

設定リンクを開くとSDKを指定するダイアログが表示されるのでandroid出力に使うFlex4とairforandroidをマージしたSDKをここで追加します。

画面右の「追加」ボタンを押してマージしたSDKの位置を参照します。SDKにわかり易い名前を入れて「OK」ボタンを押します。

上記画面を閉じるとひとつ前の画面(新規Flexプロジェクト)で特定のSDKを使用するの右のプルダウンに先程追加したSDKが指定されていることを確認します。

コンパイルされたswfファイルとxmlをPackageAssitantProでパッケージしてapkファイルを作成してインストールします。

以上で完了です。

airforandroidの新機能

android2.2から実装されるairforandroidの新機能

これに実装される主な機能一覧↓

  1. マルチタッチ
  2. 重力センサー
  3. GPS
  4. スクリーンオリエンテーション(画面の縦横検知)
  5. バーチャルキーボードのサポート(TextFieldをクリックすると端末上のソフトウェアキーボードを利用できる)
  6. カメラ機能(デバイス搭載のカメラにアクセス)
  7. ハードウェアアクセラレータ(GPU利用による処理の高速化)
  8. マイクロフォンサポート
  9. CAMERA UI (デバイス上のカメラで取った写真やビデオを受ける)
  10. CameraRoll(デバイス内のカメラで取った写真にアクセス)
  11. StageWebView(Airの中にブラウザ設置)

この他にも細かいものがいくつかあります。

雑感:

この記事を書いている段階ではairforandroidはまだβなのでなんとも言えませんが、今までWEBサイトを開発していたFlashクリエイターにとって開発の敷居は低い反面、PCとデバイスの性能を比較した場合まだ性能面では著しく低いのでメモリ管理や処理の負荷についてシビアにつきつめていかないとアプリケーションとしての体をなさないような気がします。

また、FlashはUIを自由にカスタマイズできますが自由すぎるUIがユーザーにとってはデメリットになってくるケースも考慮する必要があると思います。この部分についてはアプリケーションフレームワーク「Hero」が開発されています。モバイルデバイスにとってUIはPCよりもさらに重要なファクターなので、これからモバイルアプリケーションを開発する人にとってHeroのリリースも楽しみです。

個人的にairforandroidの強みは開発速度とマルチデバイスの二つだと思います。アプリケーションという位置づけであればjavaで組んだほうが自由度が高く良いものが上がりますが、コンテンツを全デバイス(android,iphone,window7phone)向けに最短で配信するといったものであればairforandroidに軍配があがるのではないでしょうか。例えば来週発売の雑誌付録をおまけアプリケーションとして配信するとか?そういったベクトルでのポテンシャルは大きく秘めているので、期待が膨らみます。