Adobe
製品
Acrobat
Creative Cloud
Creative Suite
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
その他の製品一覧
ソリューション
デジタルマーケティング
デジタルメディア
教育
金融機関
Web Experience Management
その他のソリューション
ラーニング サポート ダウンロード 会社情報
ご購入
アドビストア 安心のサポート& サービス
アカデミックストア 学生、教職員、個人向け
アドビライセンスストア 中小企業向け
ボリュームライセンスについて 企業、教育機関、官公庁向け
販売パートナー
キャンペーン情報
検索
 
情報 サインイン
ようこそ、 さん カート 注文状況 マイアカウント
マイアカウント
注文状況
アカウント情報の変更
コミュニケーションの設定を変更
サインアウト
サインインの目的 お客様のアカウントや体験版ダウンロード、製品の拡張機能、コミュニティエリアへのアクセスなどを管理するため
Adobe
製品 セクション ご購入   検索  
ソリューション 会社情報
サポート ラーニング
サインイン サインアウト 注文状況 マイアカウント
先行予約の提供開始予定日Date. 商品が発送されるまで、クレジットカードには課金されません。提供開始の予定日は変更される場合があります。 先行予約の提供開始予定日Date. ダウンロードの準備が整うまで、クレジットカードには課金されません。提供開始の予定日は変更される場合があります。
個数:
ご購入には学生・教職員個人版の購入資格の確認が必要です。
小計
カートの中身を見る
Adobe Developer Connection / Adobe AIRデベロッパーセンター /

Flash Builder 4.6でネイティブ拡張(Native Extensions)を使ってみよう

著者 丸山真実氏

丸山真実氏
  • 大日本印刷株式会社
  • RIAxDNP

Content

  • ネイティブ拡張とは
  • Flash Builder 4.6でANEファイルを設定する
  • ターゲットOSの自動判定
  • ネイティブ拡張をActionScript 3.0から使用する
  • AIRのパッケージ時のANEファイル設定

作成日

11 November 2011

ページ ツール

Facebookでシェア
Twitterでツイート
LinkedInでシェア
ブックマーク
印刷

タグ

必要条件

ユーザーレベル

すべて

必要な製品

  • Flash Builder (体験版ダウンロード)
  • Flex (体験版ダウンロード)

Adobe AIRでは様々なOS上で動作するクロスプラットフォームのアプリケーション開発が可能ですが、一方でOS固有の機能やデュアルスクリーンのような端末独自の機能はAIR上からアクセスできませんでした。しかし、AIR3では新機能として「ネイティブ拡張(Native Extensions)」が追加され、ネイティブコードと連携してこれらの機能を利用できるようになりました。本記事では、年内リリース予定のFlash Builder 4.6においてネイティブ拡張を利用する方法について解説します。

記事内で利用しているANEファイル(Vibration.ane)は、「Vibration native extension sample」からダウンロードできます。その他にも、「Native extensions for Adobe AIR」から様々なANEファイルを入手できます。

ネイティブ拡張とは

ネイティブ拡張とは、ネイティブコードでプログラミングされたOS/端末独自の機能へのアクセスを提供する仕組みで、実体は「.ane」という拡張子のファイル(ANEファイル)にパッケージングされます。ANEファイルは、AndroidならJava、iOSならObjective-Cのようなネイティブコードと、それらとAIRとの受け渡しをするActionScript 3.0を含んだ、SWCのようなアーカイブファイルです。

使い方もSWCと同じように、ANEファイルへのパスを通してパッケージングすると、ネイティブ拡張を利用したAIRアプリケーションを書き出すことができます。執筆時点では、コマンドライン上でADT(AIR Developer Tool)を使ってパッケージングする必要がありますが、Flash Builder 4.6ではANEファイルの設定タブが用意され、その作業は格段に容易になります。

図1 ネイティブ拡張の仕組み
図1 ネイティブ拡張の仕組み

※ネイティブ拡張の概要の詳しい情報は「ネイティブ拡張(Native Extensions)入門」をご覧ください。

Flash Builder 4.6でANEファイルを設定する

Flash Builder 4.6では、新規プロジェクトを作成する際のウィザードに、ANEファイルへのパスを設定するタブが増えました。このタブは[プロパティ]→[Flexビルドパス]でも確認できます。

図2 ビルドパスにあるネイティブ拡張の設定タブ
図2 ビルドパスにあるネイティブ拡張の設定タブ
図3 ANEファイルの追加ダイアログ
図3 ANEファイルの追加ダイアログ

図2の[ANEを追加]ボタンをクリックすると、図3のダイアログが表示されます。[AIRアプリケーション記述子を更新]にチェックを入れておくと、アプリケーション記述子ファイル(xxx-app.xml)に以下のようなタグが自動的に追加されます。

<extensions> <extensionID>com.adobe.Vibration</extensionID> </extensions>

ネイティブ拡張を利用するときは、アプリケーション記述子ファイルにextensionIDを設定する必要があります。extensionIDは、ネイティブ拡張を一意に表すIDであり、同じIDのネイティブ拡張を複数利用することはできません。

ターゲットOSの自動判定

Flash Builder 4.6ではANEファイル追加時に、そのANEファイルがアプリケーションのターゲットOS(Windows/Mac OS/iOS/Android/BalckBerry)に対応しているか、自動で判定してくれます。

図4は、Vibration.aneというモバイル端末のバイブレーション機能を利用するためのANEファイルを設定したところです。Vibration.aneはiOS/Androidに対応したANEファイルなので、iOS/Android向けのモバイルプロジェクトでの追加時には「緑のチェック(緑のチェック)」が表示され、利用可能な状態であることがわかります。一方で、デスクトップ向けアプリケーションで同じANEファイルを追加したときは、「赤い×印(赤い×印)」で利用できない旨が通知されます。

図4 ANEファイルの対応OSの自動判定例。左はモバイルプロジェクト、右はデスクトッププロジェクトでの判定結果
図4 ANEファイルの対応OSの自動判定例。左はモバイルプロジェクト、右はデスクトッププロジェクトでの判定結果

「AIRシミュレーターはサポートされていません」という警告メッセージは、モバイルアプリケーションのデスクトップシミュレーター上では、このネイティブ拡張は機能しない旨を指しています。なお、デスクトップ向けのANEファイルであれば、シミュレーター上でも機能します。

※図4にある「AIRランタイムの最低必要バージョン:2.5」というメッセージは、「ANEファイルがAIR2.5以上から利用できるフォーマットになっている」という意味です。AIRのバージョンによって、ネイティブ拡張を利用できるプラットフォームの種類が異なるのでご注意ください。

ネイティブ拡張をActionScript 3.0から使用する

ANEファイルを追加すると、ActionScript 3.0でその機能を呼び出すことが可能になります。コード補完も効くようになっており、ネイティブ拡張のプロパティや関数の呼び出しも簡単です。また、ネイティブ拡張利用時のデバッグも通常通りFlash Builder 4.6上で行えます。以下はVibration.aneを利用して、ボタンクリックで2秒間のバイブレーションを鳴らすコードです。

import com.adobe.nativeExtensions.Vibration; // ボタンをクリックしたら、2秒バイブレーションを鳴らす protected function vibrateDeviceBtn_clickHandler(event:MouseEvent):void{ // 端末がバイブレーションをサポートしているか、の確認 if(Vibration.isSupported){ var vb:Vibration=new Vibration(); // 2秒バイブレーションの鳴らす vb.vibrate(2000); } }

AIRのパッケージ時のANEファイル設定

リリースビルドを書き出す際や、[プロパティ]→[Flexビルドのパッケージ化]で、ターゲットOSごとにANEファイルのパッケージ設定を行いますが、この時にも自動的に検証を行ってくれます。図5の例では、上記のコードのようにActionScript 3.0でネイティブ拡張を呼び出しているのに、該当するANEファイルをパッケージに含んでない旨が通知されています。

図5 ANEファイルのパッケージ設定
図5 ANEファイルのパッケージ設定

[使用済み]の欄は、ActionScript 3.0からネイティブ拡張を使用している場合は「鎖(鎖)」マーク、未使用の場合は「バツ(バツ)」マーク、その他不明なときは「はてな(はてな)」マークが表示され、未使用の不要なANEファイルをパッケージに含めないようにすることができます。

その他、以下のような項目を自動検証してくれます。

自動検証する項目
Extension ID 複数のネイティブ拡張の利用時に同一のIDではないか、など。
Native Library 複数のネイティブ拡張の利用時に同一のネイティブライブラリ(.jarや.aなど)を含んでいないか、など。
Initializer 初期化時に呼び出される関数やクラスが存在するか。
Finalizer 終了時に呼び出される関数やクラスが存在するか。
図6 検証結果の表示例
図6 検証結果の表示例

おわりに

本記事では、AIR3の新機能「ネイティブ拡張」をFlash Builder 4.6で利用する方法を紹介しました。ネイティブ拡張によって、様々な機能が使えるようになっただけでなく、ネイティブコードで作られたライブラリなどの資産の活用、また負荷の高い処理をネイティブコードで処理することでのパフォーマンス向上が期待できます。

また、Flash Builder 4.6で開発すれば、ANEファイル設定時に様々な項目を自動的に検証してくれますし、コード補完もデバッグも通常通り行えるので、ネイティブ拡張を利用した開発も一段としやすくなると思います。一方でネイティブ拡張自体を開発するにはネイティブコードの知識はもちろん必要ですし、ANEファイルにパッケージングするまでに手順が複雑なのが難点です。ネイティブ拡張自体の開発についての詳細な情報は「ネイティブ拡張(Native Extensions)入門 」を参照してください。

関連情報

ネイティブ拡張(Native Extensions)入門

  • 第2回 ネイティブ拡張の開発方法 前編
  • 第3回 ネイティブ拡張の開発方法 後編

 

ネイティブ拡張(Native Extensions)入門 第1回 ネイティブ拡張を理解する

Tutorials and samples

Tutorials

  • Using the GameCenter Adobe AIR native extension for iOS
  • Using the iAd Adobe AIR native extension for iOS
  • Easy Library
  • Introducing Adobe AIR Launchpad

Samples

  • Licensing Adobe AIR applications on Android
  • Using web fonts with Adobe AIR 2.5
  • Using Badger for Adobe AIR applications

AIR blogs

More
05/15/2012 What’s New in Flash Player 11.2 and Adobe AIR 3.2 Slides and...
05/14/2012 Adobe Flash Platform Runtime and SDK Archives
05/14/2012 Monster’s Socks on the iPad with Adobe AIR
05/10/2012 What’s New in Flash Player 11.2 and Adobe AIR 3.2

AIR Cookbooks

More
02/09/2012 Using Camera with a MediaContainer instead of VideoDisplay
01/20/2012 Skinnable Transform Tool
01/18/2012 Recording webcam video & audio in a flv file on local drive
12/12/2011 Date calculations using 'out-of-the-box' functions

製品

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • モバイルアプリ
  • Photoshop
  • Touch Apps

ソリューション

  • デジタルマーケティング
  • コンテンツオーサリング
  • Web Experience Management

業種別ソリューション

  • 教育
  • 金融機関

サポート

  • ヘルプ&サポート
  • 注文と返品
  • ダウンロードに関するヘルプ
  • ユーザー登録に関するヘルプ

ラーニング

  • ADC: Adobe Developer Center
  • Adobe TV
  • Design Magazine
  • Photoshop Magazine
  • Focus In

ご購入方法

  • アドビストア
  • アカデミックストア
  • アドビライセンスストア
  • ボリュームライセンスについて
  • 販売パートナー
  • キャンペーン情報

ダウンロード

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

会社情報

  • プレスルーム
  • パートナープログラム
  • 企業の社会的責任(英語)
  • 採用情報
  • 投資家の皆様へ(英語)
  • イベント&セミナー
  • Legal(英語)
  • セキュリティ
  • お問い合わせ
国・地域および言語の選択 日本(変更)
国・地域および言語の選択 閉じる

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

利用条件 | プライバシーポリシーとCookie (更新)

Reviewed by TRUSTe: site privacy statement