- - PR -
構築からサンプルアプリケーションの実行まで(続き)
5.Android NDKサンプルアプリケーションのプロジェクトを生成
ここまでの準備ができたら「hello-jni」プロジェクトを取り込む。手順は以下のとおりだ。
Eclipseのメニューから[File]−[New]−[Android Project]をクリックして、「New Android Project」ダイアログを表示する。
「Contents」の「Create project from existing source」を選択し、「Location:」にAndroid NDKで提供されているサンプルアプリケーション「hello-jni」のプロジェクトフォルダ「D:\android-ndk-1.5_r1\apps\hello-jni\project」を指定する(画像7)。また、「Build Target」に「Android 1.5」を指定する(画像8)。
![]() |
画像7 Eclipseの「New Android Project」ダイアログ(その1) |
![]() |
画像8 Eclipseの「New Android Project」ダイアログ(その2) |
6.Android NDKサンプルアプリケーションの実行
画面左側のPackage Explorerに表示されているサンプルアプリケーションのプロジェクト「HelloJni」を選択し、[Run]ボタンをクリックする。すると「Run As」ダイアログが表示されるので、ここで「Android Application」を選択し、[OK]ボタンをクリックする(画像9)。
![]() |
画像9 サンプルアプリケーションの実行 ※画像をクリックすると拡大表示します |
しばらくすると、Androidエミュレータが起動し、Android NDKサンプルアプリケーション「HelloJni」が起動する(画像10)(注7)。
![]() |
画像10 Androidエミュレータでの実行結果 ※画像をクリックすると拡大表示します |
| 注7:環境によっては「HelloJni」が起動するまでに数分程度、待たされる場合がある。 |
| 参考: | |||
・アプリケーションモジュール
・アプリケーションのインストール →Javaアプリケーション
→C-Nativeライブラリ
|
7.C-Nativeライブラリの読み込みの確認
最後に参考として、C-Nativeライブラリが正しく読み込めているかどうかを確認する方法を紹介する。
エミュレータが起動している状態で、メニューから[Window]−[Open Perspective]−[DDMS]をクリックすると、Androidのデバッギングツール「DDMS(Dalvik Debug Monitor Service)」が表示される。
DDMSの画面最下部にある「LogCat」ビューで以下のメッセージが表示されていれば、正しく読み込まれていることになる(画像11)。
dalvikvm: Trying to load lib /data/data/com.example.hellojni/lib/libhello-jni.so |
![]() |
画像11 「DDMS」画面 ※画像をクリックすると拡大表示します |
◇
今回は、Android NDKとJNIによるAndroidの拡張方法について解説した。この仕組みを利用することで、ネイティブコードとの連携が可能となり、標準では不足しているAndroidの機能を拡張(組み込みデバイス固有の機能を追加)したり、既存資産を有効活用したりできる。
ただし、拡張したインターフェイスに依存したアプリケーションを個々に開発すると、資産のポータビリティは減少してしまうので、例えば、バーコードリーダ・デバイスをAndroidに機能拡張する場合、バーコード用のデバイスドライバは、Androidで定義するインターフェイスに合わせ込むようにする。そして、合わせ込んだインターフェイスを利用するAndroidアプリケーション用ライブラリを定義して利用するなどの対応が必要となる。
このような拡張インターフェイスを各メーカーが標準化していくことで、今後さまざまな組み込みデバイスで“専用のAndroid”が生まれてくることも十分に考えられる。Androidが組み込み分野にもたらす新たな可能性に大いに期待したい。
関連記事 Android
- 組み込みAndroid コーナー
- 連載記事「Androidがもたらす組み込み開発の新たな可能性」
- Androidでビジネス拡大を狙うミップスの新戦略
- メンターは組み込みソフトにコミットする
- AndroidはGoogleとウインドリバーの合作だった
- 手探りからの脱却!? ESECで見つけたAndroid技術
- Googleも想像しなかった“先を行く”Android展開
- Androidビジネスの足音が聞こえた!!
- OESF、軽量版「Android」への取り組みにも着手
- 組み込みシステムを革新する−Androidイノベーション
- 見えてきた!? ケータイ以外でのAndroidの適用例
- ケータイアプリ事情−iPhoneからAndroidへの移植も
- AndroidはGoogleとウインドリバーの合作だった
- “非ケータイ”で輝くAndroidの秘めたる可能性
組み込み開発フォーラム 新着記事
- フルスクラッチの“Hello World”を動かしてみよう(2011/3/31)
- FlexRayプロトコルの概要(その2)(2011/3/29)
- JASA、東北地域に拠点を置く会員企業を支援(2011/3/25)
- NEC、震災の影響を受けた4拠点の生産再開を発表(2011/3/23)
- 内部ブロック図の基礎と共通要素(2011/3/22)
- インテル、被災地におけるITインフラの復旧を支援(2011/3/22)
- Facts on AUTOSAR/AUTOSAR導入の現実(2011/3/18)
- 計測器・震災被害ホットラインを開設、テクトロニクス(2011/3/18)
- ZMP、地震の揺れを多角的に計測するアプリ無償配布(2011/3/16)
- メンター、3Dテレビ・マルチメディア検証プラットフォーム(2011/3/16)
- 【番外編】タチの良い計測値、悪い計測値とは?(2011/3/15)
- tarファイルシステムをAndroidに組み込む!!(2011/3/10)


















