facebook twitter hatena line google mixi email

Flash/FlashDevelopでAirforAndroid

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

androidエミュレータインストール

AndroidSDK http://developer.android.com/sdk/index.html

  1. android/エミュインストール編 [ショートカット]

FlashDevelopのandroidプロジェクトテンプレートのインストール

http://www.fazermokeur.com/sandBox/airAndroid/165%20ActionScript%203%20-%20AIR%20AS3%20Projector%20for%20Android.rar

以下へ解凍した"165 ActionScript 3 - AIR AS3 Projector for Android"dirをそのまま入れる

C:\Documents and Settings\usrxxxx\Local Settings\Application Data\FlashDevelop\Projects
(ツール/アプリケーションファイルで開くことも可能)

android用AirSDKを作成

以下をダウンロード

Flex4.1SDK http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex4sdk

AirSDK http://www.adobe.com/products/air/sdk/

  1. "FlexSDK4.1ディレクトリ"を"AirSDKディレクトリ"で上書きし、ディレクトリを"flex_sdk_4.1_and_air_sdk"などとリネームしておく。
  2. パスを通す。(設定/コントロールパネル/システム/詳細設定/環境変数/Pathに";D:\flex\flex_sdk_4.1_and_air_sdk\bin"を追加)

swfファイル作成

  1. FlashDevelopの新規プロジェクトからair for androidテンプレートでプロジェクトを作成する
  2. プロジェクト/プロジェクトの設定/書き出しプレイヤーバージョンをFlashPlayer10.1に設定する
  3. プロジェクト/プロジェクトの設定/コンパイラー設定/CustomPathtoFlexSDKに"D:\flex\flex_sdk_4.1_and_air_sdk"などと設定する(最後にbinはつけない)

(error)FlashPlayerを待ってデバッガーに接続します。と出る場合↓

証明書を作成

  1. プロジェクト内にできている、CreateCertificate.batを実行する
  2. SelfSigned.p12の証明書ができる

apkファイルを作成する

  1. application.xmlをメモ帳で開き以下のように変更(ここはビルドデバッグができなくなるのでapkを作ったら戻す
<content>android.swf</content> ←変更前
<content>bin/android.swf</content> ←変更後
<image72x72>icons/icon_72.png</image72x72> ←削除
  1. メモ帳に以下を記述し、ApkDebug.batにファイル名を変更(デバッグ用
adt -package -target apk-debug -storetype pkcs12 -keystore SelfSigned.p12 apk/android.apk application.xml -C bin .
  1. メモ帳に以下を記述し、ApkEmu.batにファイル名を変更(エミュレータ用
adt -package -target apk-emulator -storetype pkcs12 -keystore SelfSigned.p12 apk/android.apk application.xml -C bin .
  1. メモ帳に以下を記述し、ApkRelease.batにファイル名を変更(リリース用
adt -package -target apk -storetype pkcs12 -keystore SelfSigned.p12 apk/android.apk application.xml -C bin .bin/android.swf
  1. ApkDebug.batを実行
  2. パスをfdと入力

上記方法でapkが作れなかったら、PackageAssistantProでapkファイルを作成する

  1. PackageAssistantProをインストール http://dl.dropbox.com/u/117996/applications/AIR2/PackageAssistantProWin.zip
  2. 出てきたフォームに以下のような感じで入力
-java.exe?
C:\Program Files\Java\jdk1.6.0_17\bin\java.exe
-adt_jar fro air 2.5?
D:\flex\flex_sdk_4.1_and_air_sdk\lib\adt.jar
-certificate?(作った証明書ファイルを指定
D:\home\flex\Android\SelfSigned.p12
-xml file(作ったapplication.xml(いったんbrowserボタンを押さないと先に進めない
D:\home\flex\Android\application.xml
-swf file(作ったswf(いったんbrowserボタンを押さないと先に進めない
D:\home\flex\Android\bin\Android.swf
-cert pass(証明書作成時のパス
fd(FlashDevelopで作った際のデフォルトパス
-apk dir
D:\home\flex\android\apk

(error)Could not load keystore file or password is incorrectが出る場合↓

  • 上のadt_jar fro air 2.5?は"~\adt.jar"まで入力する

(error).apk作成時にエラー↓

  • PackageAssistantProのバージョンを0.3.1にしてみる

(error)your file is readyとでるが.apkが作成されない場合↓

  • application.xml内のiconタグを削除

apkファイルをインストールする

  1. メモ帳で以下ファイルを作成し、ファイル名をAPK_DEPLOY.batに変更する
adb install -r D:/home/flex/android/apk/android.apk
  1. androidエミュレータを起動したままAPK_DEPLOY.batを実行
  2. successとなれば成功

(error)[INSTALL_FAILED_INVALID_APK]が出る場合は↓

  • apkがリリース用となっているのでデバッグ用のapkをインストールする。上のapk作成でdebug用apkを作る

(erro)INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATESが出る場合は↓

  • 署名が失敗しているので署名作成からやり直し。
  • 一度android側でsetting/appilcation/application manageからインストールしたアプリを削除してみる


エミュレータにairをインストール

adb install -r D:/flex/flex_sdk_4.1_and_air_sdk/runtimes/air/android/emulator/Runtime.apk

おまけ

apk作成時にwarning : aplication has not specified its permission requirements in application.xmlが出る

以下をappilcation.xmlに追加

<application xmlns="http://ns.adobe.com/air/application/2.5">
  <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>

参考URL

http://blog.appforandroid.info/?tag=flashdevelop

http://www.hara3.net/blog/2010/06/air-for-android.html

http://www.flashdevelop.org/community/viewtopic.php?f=19&t=6994

Flex SDK を使用した最初の Android 用 AIR アプリケーションの作成 http://help.adobe.com/ja_JP/air/build/WS901d38e593cd1bac25d3d8c712b2d86751e-8000.html

スマホ向けアプリ開発の扉を開くAdobe AIR 2.5とは http://www.atmarkit.co.jp/fsmart/articles/airandroid03/03.html

FlashDevelopによるAndroidアプリの開発 http://www.saturn.dti.ne.jp/~npaka/flash/as30/HelloWorld_FlashDevelop_Android/index.html