Android 4.0では、携帯電話機向けの2.3とタブレット端末向けの3.0が統合される見込みです。バージョン対応をどうすべきか、さらにGoogleの認証にどう応じるか、組み込み機器開発者が考えなければいけないことは多くなります。Chrome OSがPC向けOSから、各プラットフォーム共通のサービスに変わっていくことも考慮に入れなくてはなりません。
→「Embedded Android for Beginners(Android基礎講座)」連載一覧
2011年1月に開催された米国最大の家電ショー「2011 International CES(Consumer Electronics Show)」で、「Android 3.0」がタブレット端末向けとして公開後、3月31日にはNTTドコモが日本初のAndroid 3.0搭載製品「Optimus Pad」を発売しました。その後、携帯電話機やタブレット端末にとどまらない、さまざまな組み込み機器にAndroidを搭載しようという意識が世界的に高まっています。
あらためて言うまでもないことですが、Androidでは携帯電話機やタブレット端末を実現するために必要なソフトウェア資産がオープンソースとして無償で公開されており、誰でもAndroid搭載機器を作ることができます。グーグルが先導していることや、オープンソースのソリューションとしては群を抜く品質とボリュームを備えていること、そして最近では、エンドユーザーから見たAndroid端末そのものの価値が高まっていることから、組み込み機器へのAndroid搭載は全く当然の流れと言えます。
しかし、Androidの急成長が裏目に出て、組み込み機器メーカーが難しい選択を迫られている課題もあります。携帯電話機やタブレット端末は組み込み機器の中では限られた存在です。今回は携帯電話機にとどまらず、多様な組み込み機器でAndroid端末を企画、開発するために必要な検討事項をまとめました。
Android 3.0の盛り上がりは大変なもので、エンドユーザーの間では「iPad 2」とAndroid 3.0 搭載端末、とりわけOptimusPadや「Galaxy Tab 10.1」との比較記事への関心が高まっています。
しかしAndroid 3.0では、これまでのAndroidにはなかったロードマップに関する問題が露見しました。2011年2月にスペインのバルセロナで開催された携帯電話関連の国際展示会「Mobile World Congress 2011(MWC2011)」において、2010年に引き続きキーノートに登壇したグーグルCEOのエリック・シュミット氏の発言です。これまでAndroidの最新バージョンだったAndroid 2.3は携帯電話機向け、Android 3.0はタブレット端末向けであり、2つは半年後に公開予定の次のバージョンで統合されるというのです(図1)。
この発言の背景には、加熱するタブレット市場の主導権争いに遅れることはできないというグーグルの事情があります。Androidが携帯電話機用プラットフォームとして登場したことは周知の通りです。とにかく携帯電話機での地位を確立しなければならず、他の機器への対応などは二の次であったはずです。アップルがiPadを発表するまでは。
Android 2.1(Eclair)が2010年1月12日に発表されてから程なくして、1月17日に発表されたiPadはPDAや電子ブックといった既存の市場とPC市場を席巻し、タブレット市場を生み出しました。PC向けに「Chrome OS」、携帯電話機向けにAndroid、これをクラウドでつなぐというグーグルの戦略は大きな変更を余儀なくされたはずです。Android 3.0とは、タブレット市場をほとんど独占しているiPadを猛追するために、互換性を度外視して開発された特別なバージョンであったと考えられます。
初期のバージョンを除いて、Androidはアプリケーション開発者向けのSDKとAndroidのソースコードを一緒に公開してきましたが、Android 3.0はSDKしか公開しておらず、Androidのソースコードは当分公開の予定がないといいます。組み込み機器のメーカーはまず、現在の最新バージョンAndroid 3.0のソースコードが入手できないという壁に直面しています。
本連載の「第5回 失敗しないAndroidとの付き合い方」でも触れましたが、Androidの最新バージョンをやみくもに求める開発者、ユーザーは少なくありません。それなのに、最新バージョンを搭載した組み込み機器の開発が進められないのです。次のバージョンまで半年待って、ソースコードが公開されるとして、それまで製品開発が止まってしまいます。さらに、せっかく製品を作りあげても、出荷時には既に新しいバージョンが発表されている、という具合です。こうしてみると、Androidのバージョンは、組み込み機器メーカーにとって実に頭の痛い問題なのです。
ここで、Androidを搭載した組み込み機器を手掛ける手順をおさらいします。まず、端末仕様に加えて、採用するAndroidのバージョン、グーグルの「Android CTS(CompatibilityTest Suite)認証」を受けるかどうか、ライセンスをどうするか、これらをいっぺんに考える必要があります。
望んだ通りの製品仕様を実現できるかどうかは、Androidのバージョンに依存します。単に機能の有無ということもありますが、Androidの最新バージョン、Android 3.0そのものを「価値」として端末仕様に加えるということもあり得ます。一方、端末コストを抑えるために、あえてメモリ使用量の少ない旧バージョンのAndroidを利用するという選択もあるでしょう。Androidはバージョンに比例してメモリ使用量が大きくなる傾向にあり、組み込み機器には不利に働きます。最新版といううたい文句に惑わされない、適切なAndroidのバージョンを選択すること、さらにAndroidのバージョンアップにどこまで追随するかといった検討が非常に重要です。
Android CTS認証を受けるかどうかは、グーグルのアプリケーションをバンドルするかどうかに関係します。「Google Maps」や「Android Market」をバンドルするためには、グーグルと契約を結び、Android CTS認証を経る必要があります。ただし、Androidの実装範囲とCTS認証の検査範囲が異なる場合もあります。例えば、通話機能を持たないタブレット端末であるサムスン電子の「SMT-i9100」がCTS認証に合格し話題になりました。グーグルと特に結び付きの強いメーカーであるサムスン電子が製造し、やはりグーグルと特に結び付きの深い通信事業者であるKDDI向けの機器であったことが理由でしょう。認証とは言っても一企業であるグーグルが決めていることなので、柔軟性があります。
ライセンスについても検証する必要があります。AndroidのライセンスはおおむねApache 2.0です。しかし、LinuxカーネルはGNU GPLですし、WebKitはGNU LGPL(Lesser General Public License)です。Linuxカーネルへ変更や追加を加えた場合は、当然のことながら公開の義務が生じます。
ポーティング(移植)作業の手順については、グーグルのガイドが役立ちます(図2)。ガイドは、ビルドシステムの解説から始まり、スプラッシュスクリーンの変更の仕方のような基本的なところから、電話やマルチメディア、Bluetoothなど個々の機能のためのソフトウェアのポーティングに関する詳細までが網羅されており、ポーティング担当の技術者はもちろん、マネジメント層の方も必読です。
ポーティング後のソフトウェアの品質確認に使えるツールもあります。CTS認証を通さない場合でも、オープンソース版のCTSが公開されており、制約なく利用できます。ただし、「Compatibility」という名前の通り、CTSはAPIやVM(Virtual Machine)の振る舞いについての論理的な互換性を確認する目的で作成されています。従って、ソフトウェアのストレス検査などは自前で調達しなければなりません。さらに、実際に満足のいくレベルの性能が出せているかどうかといった基準の設定とテストは端末を手掛ける側の責任になります。
iPadの登場によってグーグルはソフトウェアプラットフォーム開発のロードマップの変更を余儀なくされました。当然、Androidを含むソフトウェアプラットフォーム全体の見直しも視野に入れていると考えられます。
「Google TV」はもともとAndroidベースのソフトウェアシステムとして開発されています。2011年初頭という当初予定からずれ込んでいるものの、Android Marketへも対応します。Androidをテレビ向けにカスタマイズしたため、Google TVは分かりやすいプラットフォームです。ただ、テレビチューナーなどにAndroidを独自に搭載する試みは数多く、実際に製品化も進んでいます。そのような製品はCTS認証を受けずにオープンソースで開発していますから、グーグルとして文句をいえる筋合いでもなく、グーグルにとって頭の痛いところです。
一方、Chrome OSは今、とても微妙な扱いになっています。携帯電話機向けのAndroidとは明確に区別するために、PC向けのプラットフォームであると発表されましたが、iPadの登場がグーグルの戦略を直撃しました。iPadが創出したタブレット市場はPC市場を急速に侵食していますが、Chrome OSはまだ商用化されていませんから、Chrome OSでiPadに対抗することはできず、グーグルはAndroidでiPadに追随するという措置をとりました。結果として、Androidは今やChrome OSに競合する存在となったのです。
グーグルは、AndroidとChrome OSの競合領域の存在を認めた上で、方向性が違うものであり、すみ分けは可能としています。確かに、現在は微妙な存在に映っていますが、それなりの成功を収めるでしょう。Androidと同様、メーカーと協力して進めている都合上、途中で放り出すということはありませんし、βテストまでこぎ着けていますから、近々採用製品が登場することも確実です。
では、Chrome OSはどのように成長し、Androidや組み込み機器とどのような関係を作っていくのでしょうか。Chrome OSはWebブラウザを多用するユーザー向けなどと説明されていますが、この説明には少し無理があるように思います。AndroidでもWebKitが搭載されていますし、何より、iPhone以降、ユーザーは汎用Webブラウザよりも専用アプリケーションを使おうとする傾向にあります。デスクトップ向けとも言われますが、これにも疑問符が付きます。デスクトップPCそのものがクラウドとタブレット、携帯電話機に挟撃され、一般家庭から消えつつあるためです。
Androidが家庭のクライアント機器に定着するならば、残るはサーバサイドしかありません。現在のクラウドサービスは便利ですが、現時点ではどうしても利用時の「距離感」が隠せません(図3)。これを改善する、クラウドとクライアントの橋渡しがChrome OSの役割になっていくと考えます。仮想デスクトップはその一例です(図4)。Androidを手掛ける組み込み機器メーカーが工夫しなければならないのは、Chrome OSとの接続性やクラウドとの応答性能を含めたトータルサービスの品質でしょう。
最後に、最近の興味深いニュースをご紹介します。ブランドを評価する英国の会社であるBrand Financeによると、グーグルが世界で最も価値のあるブランド企業となったそうです。アップルは躍進しましたが8位です。グーグルは相変わらず中国とやりあっていますが、一企業でありながら中国と渡り合えるほどの存在であるという見方もできます。グーグル自体が好調ならば、Androidにもプラスに働き、今後もスピード感のある展開がみられることでしょう。
金山二郎(かなやま じろう)氏
株式会社イーフロー統括部長。Java黎明(れいめい)期から組み込みJavaを専門に活動している。10年以上の経験に基づく技術とアイデアを、最近はAndroidプログラムの開発で活用している。
Copyright © ITmedia, Inc. All Rights Reserved.