[Flash] Adobe AIR SDK 22でAndroid packageを作成する
動作確認環境:
- Windows 7 64bit
- Android 4.4 (CPU:Snapdragon400 1.2GHz, Memory:2GB, Screen:1280×720pixel)
- Adobe AIR SDK 22 with Compiler for Windows
Adobe AIR SDKというかFlashでスマートフォンアプリを作成しようかなと考えているのだが、Webに情報が少ない。とくにiOS/Android向けビルド情報が数年前のばかりでね‥‥。
使っている人があまりいないんだね。
Adobe AIR SDKで2017年の今でもiOS/Android作れるのか確認しておこう。 まずはAndroidから。
prepare Adobe AIR SDK
Windows での AIR SDK のインストール AIR SDK 内の bin フォルダーにPATHを通します。
引用元:http://help.adobe.com/ja_JP/air/build/WS2d8d13466044a7337d7adee012406959c52-8000.html
C:\home\bin\FlashDevelop5\Apps\air22\bin
にPATHを通した。(「 Bloggerの記事をMarkdownで記述してPandocでHTML変換する」の記事のbash.batにPATH追加した)
bash.bat
@echo off
set HOME=C:\home\bin\PortableGit2\home
set PATH=%PATH%;C:\home\bin\Pandoc;C:\home\bin\FlashDevelop5\Apps\air22\bin
start C:\home\bin\PortableGit2\git-bash.exe
AIR 2.6 に関しては、Android SDK をダウンロードする必要はありません。この AIR SDK には、APK パッケージのインストールと起動に必要となる基本コンポーネントが含まれています。ただし、Android SDK はソフトウェアエミュレーターの作成と実行、デバイススクリーンショットの撮影など、様々な開発タスクで役立ちます。
引用元:http://help.adobe.com/ja_JP/air/build/WS2d8d13466044a7337d7adee012406959c52-8000.html
Android Web サィトから Android SDK をダウンロードしてインストールする必要もあります。
引用元:http://help.adobe.com/ja_JP/air/build/WS901d38e593cd1bac25d3d8c712b2d86751e-8000.html
Android SDKは要るのか要らないのかどっちなんだ。→なくてもapk作成できた。
以後は 「Flex SDK を使用した初めての Android 用 AIR アプリケーションの作成」 http://help.adobe.com/ja_JP/air/build/WS901d38e593cd1bac25d3d8c712b2d86751e-8000.html の指示通り進める。
prepare XML file
テキストファイルを作成。
HelloStarling-app.xml
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/22.0">
<id>samples.android.HelloStarling</id>
<versionNumber>0.0.1</versionNumber>
<filename>HelloStarling</filename>
<name>
<text xml:lang="en">Hello Starling</text>
<text xml:lang="ja">こんにちはStarling</text>
</name>
<description>
<text xml:lang="en">This is an example.</text>
<text xml:lang="ja">これはテストです。</text>
</description>
<copyright>Copyright (c) 2017 Example Co.</copyright>
<initialWindow>
<content>HelloStarling.swf</content>
<renderMode>direct</renderMode>
<fullScreen>true</fullScreen>
<autoOrients>true</autoOrients>
</initialWindow>
<supportedProfiles>mobileDevice</supportedProfiles>
<icon>
<image16x16>img/icon16x16.png</image16x16>
<image32x32>img/icon32x32.png</image32x32>
<image48x48>img/icon48x48.png</image48x48>
<image128x128>img/icon128x128.png</image128x128>
<image512x512>img/icon512x512.png</image512x512>
</icon>
<customUpdateUI>false</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
</manifest>
]]>
</manifestAdditions>
</android>
</application>
このXML作成は以下を参考にした。
- Adobe AIRアプリケーションの構築 AIRアプリケーション記述エレメント http://help.adobe.com/ja_JP/air/build/WSfffb011ac560372f2fea1812938a6e463-8000.html
- Adobe AIRアプリケーションの構築 Android の設定 http://help.adobe.com/ja_JP/air/build/WSfffb011ac560372f-5d0f4f25128cc9cd0cb-7ffc.html
- application.xml(マニフェストファイル)の記述について http://blog.appforandroid.info/?p=211
prepare SWF file
次にコンテンツであるswfファイル。
HelloStarling.swf は「Flash Starlingの学習 書籍「Introducing Starling」を読む (1)」の記事で作成したやつを手直しして再ビルド。
修正点:
- BuildModeを Debug ではなく Release にする。
- [Project - Property - Output - Platform] を AIR Mobile にする。
prepare icon
アイコンファイルも用意した。 16x16 32x32 48x48 128x128 512x512 の5種類のpng画像ファイル。
各画像には「16」とか「512」とピクセル寸法の文字を入れている。どの寸法が使われているか知るため。
prepare signing file
自己署名入り証明書とキーのペアの生成。
star@b10 MINGW32 /r/201705airandroid2$ adt.bat -certificate -cn SelfSigned -validityPeriod 25 2048-RSA sampleCert.pfx passwd
これで sampleCert.pfx を生成した。これが自己署名入り証明書になる。
build apk
Androidパッケージを作成。
star@b10 MINGW32 /r/201705airandroid2$ adt.bat -package -target apk-captive-runtime -storetype pkcs12 -keystore sampleCert.pfx HelloStarling.apk HelloStarling-app.xml HelloStarling.swf img
adtコマンドの使い方は「Adobe AIRアプリケーションの構築 ADT package コマンド」http://help.adobe.com/ja_JP/air/build/WS901d38e593cd1bac1e63e3d128cdca935b-8000.html を参考にした。
これでHelloStarling.apk を作成できた。
184KBのswfと17KBのアイコン画像が、Androidパッケージだと13.7MBになるのか。
CaptiveRuntimeだからな‥‥。CaptiveRuntimeというのはAIRランタイムも含む、つまりFlashPlayerを同梱しているんだ。だからswfよりファイル容量が大きい。
install apk
Windowsで作成したapkファイルを、Android側にcopyする。
Android側でFTPサーバーを立てて、WindowsのFTPクライアントでそのFTPサーバーにアクセスしてファイルを渡した。これだとwirelessなので、USBコードつながなくていいし、動作も安定している。
Android側のファイラーで、apkファイルをタップして実行。インストール。
GPUで動作していることを確認した。
無料のAdobe AIR SDKだけでAndroidパッケージ作れることが確認できたね。
0 件のコメント:
コメントを投稿