ANE for Android - ane-lab

Download Report

Transcript ANE for Android - ane-lab

ANE for Android
FxUG 勉強会 第152回 in 京都 ライトニングトーク
2011年 9月17日 (土) 徳山禎男
自己紹介
 tokufxug (http://twitter.com/tokufxug/)
 徳山 禎男
 業務システムWEBアプリ開発者
 Java (Servlet, JSP, Struts)
 Flex 3.0, AIR 1.5
 FxUG東京勉強会運営メンバー
 s3blazeDSとyui-examplesとANE Labコミッタ
Native Extension for AIRとは
 AIR 3.0から提供される機能のひとつ
 AIRアプリとOSネイティブライブラリと連携が可能
 対応
 Windows : Dynamic Link Library (.dll)
 OS X : Framework (.framework)
 iOS : Static library (.a)
 Android : Java Archive (.jar) or shared library (.so)
 Google TV
Ane for Android開発環境
 サンプルアプリ作成時に使用していた開発環境
 Flash Builder 4.5.1 (Eclipse 3.7)
 AIR 3.0 リリース候補版(FlashRuntimeExtension.jarも使用します。)
 Android Development Tools (ADT) Plugin for Eclipse
AIR for Android で ANE
 Androidライブラリ作成
 Android SDK(JAVA)開発。(FlashRuntimeExtension.jarをビルドパスに設定
します。)
 Android NDK開発でも可能だと思います。(未確認、未検証)
 ActionScriptでJavaと対話するライブラリ生成
 AndroidライブラリをActionScript側から呼び出すライブラリを作成します。
 AIR Developer Tool (ADT)でANEライブラリ生成
 AndroidライブラリとActionScriotライブラリを、ADTコマンドを使用して
ANEファイルを作成します。
モバイルアプリ作成
 Flex モバイルフレームワークの場合
 ANEファイルをライブラリとしてlibsに配備。(ビルドパスも追加)
 モバイルアプリからネイティブへアクセスする処理を実装。
 完成したら、ADTでビルドします。
 APKファイルをインストール
 .apkファイルが作成されます。apkファイルを実機にインストール。
 実機側でインストールしたアプリが確認できれば完了。
サンプルアプリの実機デモ
 SpeechTextというアプリ
 音声を拾って、文字表示します。
 音声認識と通知処理はネイティブ(Java)です。
 ツイッター?風UIはFlexで作成しています。
 「削除」と話すと選択したツイートを削除。
 「クリア」と話すとツイートリストは全部クリア。
 「終わり」と話すとアプリケーションが終了します。
 終了すると最後のツイートを通知してくれます。
 裏技「困った困った」「しまったしまった」とツイート
すると…
 http://anelab.googlecode.com/svn/trunk/mobile/android/spe
echtext/
ANE関連情報 (英語)
 Adobe Developer Connection「Extending Adobe AIR」
http://adobe.ly/nsz69A
 Developing ACTIONSCRIPT Extensions for ADOBE AIR (PDF)
http://bit.ly/ppcp3P
ANE関連情報 (日本語)
 akihiro kamijo
http://cuaoar.jp/2011/09/adobe-air-actionscriptn.html
 AKABANA (有川榮一さんブログ)
http://akabana.info/2011/08/11/air-native-extensionseries/
 ane-lab(有川榮一さんコミッタ)
http://code.google.com/p/ane-lab/
 ANE Lab (有川榮一さんの不定期な実習会)
http://atnd.org/events/19043 (二回目:終了)
ご清聴ありがとうございました。