基礎から学ぶ組み込みAndroid

本業で組み込み Android を使用する必要が出てきたので,まずは勉強のために購入してみました.

embedded_android_01 本書の構成

  1. 組み込み Android の概要
  2. 組み込み開発に必要な準備
  3. アプリケーション作成の基礎
  4. Android SDK  によるハードウェア制御
  5. Android NDK によるアプリケーション作成
  6. Android ハードウェアへのポーティング
  7. デバイス制御ライブラリの作成
  8. Android の内部構造
  9. 赤外線リモコンを使った Android の制御
  10. Web カメラを使った赤外線カメラ
  11. GPS レシーバを使った地図の表示
  12. オーディオを使ったロボット制御
  13. Web View を使ったキオスク端末

 組み込み Android の概要

Android OS 登場の背景から,OSの基本的な構造等.本書で使用しているプラットフォーム(BeagleBoard-xM)についてのほか,Android 対応組み込みボードの情報(2011年時点の情報なのでここは若干古いですが)についても触れられています.

組み込み開発に必要な準備

組み込み Android 機器の開発に必要となる開発環境の解説・ダウンロードとインストール方法,実際のプラットフォームとの接続など.

アプリケーション作成の基礎

Android 上でアプリケーションが動作する仕組み等についての基礎知識.特に Android アプリケーションは独自の構造を持っていますので,基本的な仕組みを押さえておくと後々役に立ちそうです.

Android SDK によるハードウェア制御

Android 標準の API を利用したハードウェア制御について書かれています.ネットワーク,音声の録音・再生,SD カードへのアクセス,カメラ・GPS・Bluetooth といったハードウェアの利用方法について,実際のサンプルコードを含めながら説明されています.

Android NDK によるアプリケーション作成

Android NDK (Native Development Kit) を利用して,アプリケーションの一部を C/C++ のネイティブコードとする利用方法についてです.NDK を利用することにより,既存の C/C++ コードが利用できるほか,Android フレームワークからでは扱えない Linux のシステムコールを利用できるようになり,より自由なアプリケーション開発ができるようになります.

Android のハードウェアへのポーティング

実際にプラットフォームとなるハードウェアに Android をポーティングするために必要な環境と開発環境のインストールについて.

デバイス制御ライブラリの作成

プラットフォーム上で新しいデバイスを組み込み,それらを Android から制御する方法について.簡単なデバイスドライバの作成を通して,デバイスドライバについての基礎知識から,実際にデバイスを Android アプリから制御するまでをサンプルコードなどを通して一通り学べます.

Android の内部構造

ベースとなる Linux カーネルから Application Framework まで,Android OS の内部構造について.

赤外線リモコンを使った Android の制御

Web カメラを使った赤外線カメラ

GPS レシーバを使った地図の表示

オーディオを使ったロボット制御

Web View を使ったキオスク端末

実際にプラットフォームに新しいデバイス(回路)を追加接続し,それらを制御するデバイスドライバ・アプリケーションを作成しています.すべてサンプルソースコード付きで解説されていますので,他のプラットフォーム上で新規デバイスの開発をする際の参考になります.
 

所感

Android という OS の基本から,組み込み用途に必要な開発環境,実際の具体的なデバイス制御の例まで詳しく解説されていますので,組み込み Android の入門に必要な基礎を一通り学ぶことができます.BeagleBoard-xM というプラットフォーム上での事例が解説されていますが,サンプルコードも豊富なので他のプラットフォーム上で新規デバイスを開発をする際にも充分使えることと思います.ただし,1冊で組み込み Android 周辺知識を広くカバーしており, Linux カーネルやデバイスドライバの概念などについては基本的なところしか触れられていませんので,この辺の知識がない場合は他の情報源で補完する必要がありそうです.