Flash CS5以降では標準でAndroid for AIRがあるので、それを使えば、一発でAndroidアプリが作れます。ところが、Flash CS4ではデスクトップ向けのAIRはワンクリックで作れますが、Androidは無理です。
でもコマンドライン(ターミナルやDOSプロンプト)を使えば、まぁ、なんちゃってAndroidアプリが作れてしまうという優れもの。
事前に必要なモノ
- Adobe AIR SDK
- Android用のAIR設定をしたXMLファイル
- 証明書ファイル(.p12のファイル)
- アイコン画像(Android表示用)
- Androidアプリにしたいswfファイル
Adobe AIRは以下からダウンロードします。2013年7月現在バージョンは3.7です。
なお、Adobe AIRのバージョンが2.6以降であれば、Androidアプリを作成できます。
CS4を持っている場合は、一度、Adobe AIR 1.5形式で書き出し、その際作成されるXMLファイルを修正してもよいです。
XMLファイルの作成
AIR 3.3以降設定項目が多いので、2.6ぐらいのXMLファイルの記述が楽なので以下にAIR 2.6の場合のXMLファイルの記述例を示します。
赤文字の部分は必要に応じて、修正する部分です。
<?xml version ="1.0" encoding="utf-8" ?><application xmlns="http://ns.adobe.com/air/application/2.6"><id>id名を記載します。com.adobe.example.helloAndroidのようなカタチで記述することが多いです。</id><versionNumber>1.0.0 アプリのバージョンを3桁で区切った数字で記載します</versionNumber><filename>ファイル名。ディレクトリで表示される名前を記述します</filename><description>アプリの説明を記述します</description><name>アプリ名。実際にAndroidで表示される名前です</name><copyright>著作者名を記載します</copyright><initialWindow><content>読み込みswfファイル名を記載します</content><systemChrome>standard</systemChrome><transparent>false</transparent><visible>true</visible></initialWindow><supportedProfiles>mobileDevice</supportProfiles><customUpdateUI>false</customUpdateUI><allowBrowserInvocation>false</allowBrowserInvocation><icon><image36x36>アイコンファイル名を記載します</image36x36><image48x48>アイコンファイル名を記載します</image48x48><image72x72>アイコンファイル名を記載します</image72x72></icon>
<android><manifestAdditions>
<![CDATA[
<manifest>
この部分は、必要なエレメントだけを記載する<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
]]>
</manifestAdditions>
</android>
</application>
Warning: Application has not specified its permission requirements in application.xml
などのエラーが出る場合は、<android>の部分も記述したほうが良いです。
<android>内の<uses-permission>の部分はすべて記述する必要はなく、最低でも一つの記述があれば問題なくコンパイルできます。
詳しくはAdobe AIRのリファレンス「Android の設定」を参考にしてください。
電子証明書ファイルを作成
Adobe AIR SDKをダウンロードし、binフォルダ内にある「adt」「adl」が必要なコマンドです。
証明書は以下のコマンドで作成します。赤字部分を半角英数字で各自設定します。
adt -certificate -validityPeriod 25 -cn SelfSigned 1024-RSA ○○.p12 パスワード
証明書ファイルは、Adobe AIRのファイルを作成するために必要です。パスワードは作成した証明書ファイルのものです。
Androidアプリの作成
swfファイルやアイコン画像ファイルを用意したら、コマンドでAndroidアプリを作成します。
以下のコマンドを入力します。赤字の部分を半角英数字で各自設定します。
Androidアプリの名前には必ず.apkがつきます。
adt -package -target apk-emulator -storetype pkcs12 -keystore ◯◯◯.p12 ◯◯◯.apk ◯◯◯.xml ◯◯◯.swf
もしもアイコンがある場合はアイコンはフォルダを作ってまとめてそのフォルダにいれてください。
たとえば、hello.apkというAndroidアプリをつくるために、setup.xmlとhello.swf、そして証明書ファイルにmycert.p12を用意し、アイコンファイルをicnsというフォルダにいれた場合、以下のようにコマンドを書きます。赤字の部分が設定した部分です。
adt -package -target apk-emulator -storetype pkcs12 -keystore mycert.p12 hello.apk setup.xml hello.swf icns
以上でアプリが完成です。
ちなみにCS4で作成するswfファイルではタップやピンチインなどスマートフォン特有の動作に対応できないので、作れるものはタッチするだけのもの限定になるので注意です。
作成したアプリをAndroidに入れるときは、DropboxやSkydriveなどを使うと便利です。
なお、自作したアプリをAndroidに入れるときは、「設定」の「セキュリティ」の項目で「提供元不明のアプリのインストールを許可する」にチェックが必要です。
Adobe AIRでAndroidアプリを作れるのはあくまでもswfファイルのみです。
HTMLとJavascriptのファイルをAndroidアプリにしたい場合は、PhoneGapなどを使う必要があります。この辺ちょっと注意が必要かも。
そういえば、以前このブログにコマンドまとめ書いててその2をアップし忘れていたことに今頃 気がついた。
せっかくまとめたコマンド例、どこにやったかなぁ... 無くさないためのブログになのに...トホホ...
ブログの反応がどれくらいあるか、知りたいので、ランキングサイトに入ってみました。よろしければクリックお願いします。
コメント