組み込みAndroidエキスパートテクニックブック

「基礎から学ぶ組み込みAndroid」の続編です.さらに突っ込んで勉強するため購入してみました.組み込み Android 特化した書籍はあまり多くないこともあり,「基礎から学ぶ組み込みAndroid」とともに手元に置いておくと有用かと思います.embedded_android_02

  本書の構成

  1. 組み込み Android の基礎知識
  2. 汎用ボードコンピュータでの Android の稼動
  3. Linux カーネルの知識
  4. Application Framework の知識
  5. デバイスの知識
  6. デバイスの稼動 -加速度センサ-
  7. デバイスの稼動 -GPS-
  8. デバイスの稼動 -カメラ-
  9. ブートプロセスの知識
  10. Android-x86 の稼動
  11. CTS による互換性の確保
  12. Android 4.0 の稼動
  13. ソースコードの管理方法

 組み込み Android の基礎知識

Android OS 登場の背景から,OSの基本的なレイヤー構造,ソフトウェアライセンス等について幅広く,また,組み込みに多く使用される ARM CPU のアーキテクチャなどのハード面についても触れられています.

汎用ボードコンピュータでの Android の稼動

ARM SoC を搭載した汎用ボードコンピュータ BeagleBoard-xM をターゲットとして,ソード上で Android OS を稼動させるまでの手順を,環境の準備・ソースコードの入手・ビルド~起動まで順を追って丁寧に解説されています.

Linux カーネルの知識

Android の根幹をなしている Linux のカーネルについて,その役割やAndroid 向けの拡張について,また Linux 上でのデバイスドライバについての概要知識が解説されています.

Application Framework の知識

Android アプリケーションの基礎となる Application Framework について,全体像と内部の仕組みについて,さらに独自クラスの追加やビルド方法,それらに対応した Android SDK の作成方法などの解説です.また,Application から外部回路を制御するサンプルとして, 7 セグ LED の制御がサンプルコード付で解説されています.

デバイスの知識

各種センサ,LED,電源,Wi-Fi といった,Application Framework で API が用意されているデバイスについて,制御の流れやソースコードの全体構成などを見ています.

デバイスの稼動 -加速度センサ-

デバイスの稼動 -GPS-

デバイスの稼動 -カメラ-

各種デバイスの制御について,デバイスそのものの解説から,実際に外付けデバイスを制御する具体的方法まで,すべて回路図やソースコード付で詳しく解説されています.ここまでを読めば,自分でも好きなデバイスを接続して Android の Application から制御する方法が理解できると思います.

ブートプロセスの知識

Android のブートプロセス(起動の流れ)について解説されています.組み込み開発ではしばしば問題になる部分でもあり,日本語のまとまった情報は意外と少ないので貴重な情報源です.

Android-x86 の稼動

x-86 アーキテクチャの CPU 上で動作する Android,「Android-x86」について.

CTS による互換性の確保

Android における互換性認証テストである CTS (Compatibility Test Suite)のしくみやテスト項目・実行について

Android 4.0 の稼動

ソースコードの管理方法

効率的な Android ソースコードの管理・取得方法について.また,ソースコードの検索システムの構築などについても解説されています.

所感

「基礎から学ぶ組み込みAndroid」に比較してより実践的な内容が中心となっており,Android や Linux カーネル内部についての解説など,業務で使う上でも必須といえる内容が豊富に盛り込まれています.「基礎から学ぶ組み込みAndroid」と同様,実際のサンプルコードが豊富で,ここで解説されていないデバイスを使用していく際にも有用だと思います.ただし,ハード的な内容は,本書で解説されている内容だけでは不足ですので,別途把握しておく必要があります.