ページへ戻る
+ Links
印刷
AndroidでのANEの作成/swcの作成
- バックアップ No.3 を復元して編集 ::
NJF Wiki
xpwiki
:
AndroidでのANEの作成
/
swcの作成
- バックアップ No.3 を復元して編集
AndroidでのANEの作成/swcの作成 の編集
詳細な入力項目を表示
ページタイトル
( 空白で自動設定 )
:
ページ並び順
( 0-9 小数可 標準:1 )
:
ページ別名
(複数は[
改行
]で区切る)
:
ページ内容:
[[AndroidでのANEの作成]]に戻る。 このページは「[[AndroidでのANEの作成1_Android側の作成]]」の続きです。 ANEファイルの作成には、ActionScriptで書かれたSWCファイル(正確にはその中の一部も)が必要です。その制作方法をこちらでご紹介します。 *呼び出すクラスの作成 [#b6dde367] 呼び出すクラスは簡単で、以下のようなものになります。 package jp.njf { import flash.external.ExtensionContext; public class ANEAlert { private var context:ExtensionContext; public function ANEAlert() { context = ExtensionContext.createExtensionContext("ANEAlert",""); } public function showAlert(title:String,message:String):void{ context.call("alert",title,message) } public function dispose():void { return context.dispose(); } } } ここで「ANEAlert」という文字列はANEのIDです。ANEを作成するときに必要となります。 createExtensionContextの第二引数は初期化の時にJava側に送られる変数で、JavaのANEAlertFREExtensionクラス内のcreateContextの引数となります。 今回は使用していませんので、空文字列としています。 context.callメソッドは引数の関数IDを用いてJava側のメソッドを呼び出します。 *SWCの作成 [#ocebccfa] SWCの作成方法ははいろいろとありますが、コマンドラインから行うのが便利です。 なぜなら他のGUIを用いた方法よりパラメーターの変更が容易で、さらに一度メモしておくと他のプロジェクトなどでも使い回ししやすいからです。 そのコマンドは以下のようになります。 acompc +configname=airmobile -source-path anesrc -output anealert.swc -include-classes jp.njf.ANEAlert -swf-version=33 ここでacompcはAir SDKの「bin」以下にあります。パスを通していない場合はフルパスで書いてください。 次に「-source-path」はソースのあるフォルダです。ここでは「anesrc」を指定しています。 「-output」は出力されるswcの名前です。ここでは「anealert.swc」としています。 「-include-classes」は含まれるクラス名です。ここでは「jp.njf.ANEAlert」を指定しています。 最後に「-swf-version」はswfのバージョンです。 swfのバージョンはAir SDKのリリースノートに記載されています。 この「-swf-version」はFlashのswfの出力形式で、ANEは最終的に出力されるAirアプリのファイルのswf versionと同じかそれよりも低いバージョンで出力されている必要があります。 そのため、もしリリースするAirのバージョンがswcを作成するSDKより低いときはここをあわせなければなりません。 面倒を避けるにはANEとリリースするときのAir SDKを同じにするようにすると良いでしょう。その時にはこの「-swf-version」の部分は省略してもかまいません。省略すると最新のバージョンが指定されます。 ただし、新しいAir SDKがまだ不安定で、とりあえずANEだけ変えてリリースなどという事もよくあります。そのときはバージョンを気にした方が良いので注意してください。 そのような理由で逆にややしこしくなることもあるので、私が作る時は常にswf versionを明示しています。 *library.swfの取り出し [#mf38faa4] SWCができたら、ここから実際にANEの作成で必要となる「library.swf」を取り出します。 SWCは実はzipファイルなので、適当なツールで解凍できます。例えば unzip anealert.swc とすると catalog.xml library.swf の二つのファイルが出力されます。 必要なのはこのうち「library.swf」と元のSWCファイルだけです。 「だったらlibrary.swfを直接出力するコマンド用意しろよ」とか「SWCから直接ANE作れるようにしろよ、解凍だけなんだし」とか思うと思いますが、そのあたりはadobeに言ってください。 -[[AndroidでのANEの作成3_ANEの作成]]へ続く。 -[[AndroidでのANEの作成]]に戻る。
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「京都」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
添付ファイル
: