SQLの窓

2012年07月04日


Android Flex : AIR Native Extentions for Android のフルコマンドラインビルド



Toast の表示と、ブラウザを開く処理とバージョン文字列の取得



※ 一括バッチを追加しました
cd java
call build
if ERRORLEVEL 1 goto proc_exit1
cd ..

cd ane
call build
if ERRORLEVEL 1 goto proc_exit2
cd ..

call setlib
echo library.swf を配置しました

call build_ane

call build
if ERRORLEVEL 1 goto proc_exit3

call inst

goto proc_normal

:proc_exit1
cd ..
echo java のビルドで失敗しました
goto proc_normal

:proc_exit2
cd ..
echo ane のビルドで失敗しました
goto proc_normal

:proc_exit3
echo 本体 のビルドで失敗しました
goto proc_normal


:proc_normal


Eclipse は必要ありません。Java の SDK と、Flex の SDK (と、最新が必要なら AIR の SDK ) と、Android の SDK があればいいです。( ここでは厳密には、エミュレータのデバックとして処理してます。が、実機でもそのまま動くはずです )

とにかく、一度解ってしまえばコマンドラインでビルドしたほうが小回りが利きます。一連の流れがはっきりすると、swf の作成は -library-path+=lightboxANE.ane でいい事が解るし、つまり、ane ファイルがあって、使い方さえ解れば自由に使える事が解ります( ID は 解凍すれば extension.xml に書かれてますし )

※ とは言うものの、ane のダウンロードって殆ど見かけませんでした( 見つけたものは動作確認しました )

java のコード

これは、http://www.adobe.com/devnet/air/native-extensions-for-air.html にたくさんサンプルがあったのですが、一番簡単だと思われる 『Sharing/SMS/Toast』 を使いました( URL を開くのは少し変更 )

■ Java のソースコード

java フォルダに入って、jc.bat でコマンドラインを開いて、build.bat で jar を作成します
javac -cp C:\android\android-sdk-windows\platforms\android-10\android.jar;C:\AdobeAIRSDK\lib\android\FlashRuntimeExtensions.jar lightbox\ToastFunction.java lightbox\OpenURLFunction.java lightbox\AndroidExtensions.java
del ..\jar\ANElib.jar
jar cvf ..\jar\ANElib.jar lightbox\*.class 


ActionScript のコード

これも、『Sharing/SMS/Toast』のものです。ane フォルダに入って、android.bat でコマンドプロンプトを開いて build.bat を実行します。

■ ActionScript のソースコード

※ 注意するのは、java も ActionScript も同じパッケージ名にする事です
compc +configname=airmobile -source-path . -output ..\lightboxANE.swc -include-classes lightbox.AndroidExtensions lightbox.AndroidExtensionsEvent -swf-version 14
swc を解凍して jar\library.swf として配置

これは、仕様らしいのですが、自動的にやってくれないので自分でします。メインの android.bat を実行してコマンドプロンプトを開いて setlib.bat を実行します。

del jar\library.swf
jar xf lightboxANE.swc library.swf
move library.swf jar

lightboxANE.ane を作成

拡張用のライブラリですが、Flex側のコードをビルドする為のコードも格納されるので、本体のビルドもこのライブラリを使用します。

以下は、見やすくする為に改行を入れています
adt
 -package
 -storetype pkcs12
 -keystore lightbox.p12
 -storepass password
 -target ane lightboxANE.ane extension.xml
 -swc lightboxANE.swc
 -platform Android-ARM -C jar .


本体 Mainw.swf 作成

build.bat で swf が作成されます。この後は、Android 用のパッケージを作成してエミュレータに転送するのですが、それらの処理は inst.bat で行っています。ですから、inst.bat を実行する前に、エミュレータ起動 して、tools\ddms.bat 実行しておきます。

■ Android アプリ用の XML と、拡張用の XML

inst.bat の実行
call adt -package -target apk-debug -storetype pkcs12 -keystore lightbox.p12 -storepass password lightbox_1.apk Mainw.xml Mainw.swf winofsql.png -extdir .
call adt -uninstallApp -platform android -appid lightbox.androidtest
call adt -installApp -platform android -package lightbox_1.apk

SDK 類のパスはそれぞれの PC の環境によって変わりますが、基本 C ドライブのルートに展開しておけば、そのまま使えると思います。

関連する記事

コマンドラインで簡単に AIR アプリを Android エミュレータにインストールして実行
コマンドラインで、Android エミュレータで、dae の 3Dモデルを表示するパッケージ
Android の為の AIR Flex 基本 List で Web からデータ取得
AIR Native Extentions for Android なコマンドライン一覧


参考

ns.adobe.com/air/extension/2.5 > AIR 3+ > -swf-version 13
ns.adobe.com/air/extension/3.1 > AIR 3.1+ > -swf-version 14

らしいです。
( default は必要無いです。入れると余計面倒な仕様になってます )


【Flexの最新記事】
posted by lightbox at 2012-07-04 01:56 | Flex | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり