Android* 開発者向けラーニングシリーズ 1: インテル® プロセッサーで動作する Android* の紹介
この記事は、インテル® デベロッパー・ゾーンに掲載されている「Intel for Android* Developers Learning Series #1: Introducing Android* on Intel Processors」の日本語参考訳です。
1. インテルと Android* の歴史
インテル® プロセッサーを搭載したデバイスで Android* が初めて動作したのは、インテルが Android* デバイス向けチップを発表した日よりも前にさかのぼります。2009 年に、開発者グループによって Android* を x86 に移植する Android-x86 プロジェクトが開始されました。2010 年に、インテルはスマートフォンとタブレット向けの Moorestown プラットフォームを発表しました。2011 年には、インテル® プロセッサーを搭載したさまざまな Android* タブレットが発売されています。2011 年第 4 四半期に、インテルと Google は協力して Android* の将来のバージョンをインテル® プロセッサー向けに最適化することを発表しました。2012 年には、インテル® プロセッサーを搭載した最初の Android* スマートフォン、Lava Xolo* X900 がインドで発売されました。
1.1. Android-x86 プロジェクト
当初「patch hosting for Android x86」と呼ばれていた Android-x86 プロジェクトは、2009 年の中頃に開発者グループによって開始されました。彼らの目的は、AOSP (Android Open Source Project) を x86 プラットフォームに移植することでした。このプロジェクトの詳細は、www.android-x86.org で知ることができます。Android* SDK および NDK が x86 プロセッサーを正式にサポートする前は、x86 プロセッサーを搭載したデバイスへの Android* の移植には、この Android-x86 プロジェクトが利用されていました。
1.2. Moorestown プラットフォーム
2010 年に、インテルは最新のインテル® Atom™ プロセッサー・ベースのプラットフォーム (開発コード名: Moorestown) を発表しました。テクノロジー・パッケージの消費電力は従来と比べて大幅に低くくなり、ハイエンドのスマートフォン、タブレット、その他のモバイル・ハンドヘルド製品を含む、広範囲なデバイスを対象としていました。このチップは、HD ビデオや多地点ビデオ会議を含む、さまざまなアプリケーションに従来のインテル製品の優位性 (増大するリッチメディアやインターネット・アプリケーションにおける優れたパフォーマンス、ソフトウェアの選択肢、マルチタスクを容易に行う能力) をもたらすものでした。
新しいプラットフォームは、ハイエンドのスマートフォンでは最大 1.5GHz、タブレットとその他のハンドヘルド製品では最大 1.9GHz と、デバイスに応じたスケーラブルな周波数をサポートしていました。また、チップセットは、Android*、MeeGo*、Moblin*、Windows* 7 を含む、さまざまなオペレーティング・システムで、Wi-Fi*、3G/HSPA、WiMAX をサポートしていました。ソフトウェアおよびインターネット互換のユーザー体験を実現できるように、インテルは、これらのプラットフォームで幅広いアプリケーションとエコシステムのサポートを提供しました。
1.3. インテルと Google の協力関係
2011 年 9 月 13 日に、インテル コーポレーションと Google Inc. は、協力して Android* の将来のバージョンを低消費電力プロセッサーのインテル® Atom™ プロセッサー・ファミリー向けに最適化することを発表しました。これは、Google のソフトウェア・リリースにおいて、Android* プラットフォームの将来のバージョンが、ほかのアーキテクチャーに加えてインテルのテクノロジーをサポートすることを意味しています。
両社の協力は、インテルの技術を取り入れた Android™ プラットフォームで動作するスマートフォンの早期市場投入を目指すためのものでした。インテルは、Android* プラットフォームのオープンソースの利点を活かして顧客に継続的な革新を促進するテクノロジー製品を提供するとともに、一連のデバイスでインテルのテクノロジーを最大限に活用した強力なパーソナル・コンピューティング体験を提供できるように支援しました。モバイルデバイスの OEM やワイヤレス事業者はインテル® アーキテクチャーのパフォーマンスと低消費電力機能を引き出すことが可能になり、大規模な x86 開発者のエコシステムで Android* プラットフォームの採用が進むことが予想されました。
インテル コーポレーションの社長兼 CEO であるポール・オッテリーニは、「Google との協力は業界の技術革新を促進し、製品の普及と選択肢の幅を広げ、再度、市場を活性化させるでしょう。私はこの協業の可能性に期待しています。顧客は、インテル® アーキテクチャーと Android* プラットフォームの相乗効果を引き出し、魅力的な新製品、ユーザー体験を提供できるようになります」と述べました。
また、Google のモバイル担当シニア・バイスプレジデントであるアンディー・ルービン氏は、「Android* をインテルのスマートフォン向け低消費電力プロセッサーのロードマップと組み合わせることで、革新と選択の機会が拡大します。この提携により Android* のエコシステムが促進されるでしょう」と述べました。
この発表では、Chrome OS、Google TV、Android* ソフトウェア開発キット (SDK)、Android* ネイティブコード開発キット (NDK) を含む、両社が共同で進めているインテル® アーキテクチャーの Google 製品への対応に向けた取り組みが紹介されました。
1.4. Medfield プラットフォーム
2012 年 1 月に行なわれた International CES (コンシューマー・エレクトロニクス・ショー) で、インテルは Google Inc. の子会社である Motorola Mobility, Inc. との数年にわたるさまざまなデバイスにおける戦略的協力関係、新しいインテル® Atom™ プロセッサーを採用した Lenovo K800* など、スマートフォン事業における数々の進展を報告しました。インテル® Atom™ プロセッサー Z2460 (開発コード名: Medfield) は、スマートフォンとタブレット向けに特別に設計されたプロセッサーで、エネルギー効率の高い優れたパフォーマンスを実現します。Motorola Mobility 社との協力により、インテル® Atom™ プロセッサーを搭載した Android* プラットフォームのスマートフォンを、Motorola が 2012 年下半期に発売する予定です。このタブレット製品を含む協力関係は、インテルのシリコン・テクノロジーおよびコンピューティング革新におけるリーダーシップと Motorola のモバイルデバイス設計の専門知識を結合するものでした。
インテルは、携帯機器 OEM とキャリア向けに、デバイス開発の時間を短縮しコストを削減することを目標とした、インテル® Smartphone Reference Design の発表も行いました。このスマートフォンの特徴は、洗練されたパッケージ、クリアなテキストと鮮やかなイメージを表現する 4.03 インチの高解像度 LCD タッチスクリーン、800 万画素 のイメージを 1 秒間に 15 枚連射できるバーストモードを含む高度なイメージ処理機能を備えた 2 つのカメラの搭載などです。
2. デバイス
インテル® Atom™ プロセッサーを搭載した最初の Android* デバイスはタブレット (Avaya Flare*、2010 年に発売) でした。2011 年に発売されたインテル® Atom™ プロセッサーを搭載したデバイスは 30 種類で、フォームファクターはすべてタブレットでした。これらのインテル® Atom™ プロセッサーを使用するタブレットの利点は、Android* と Windows* の両方を実行できることです。2012 年上半期には、インテル® Atom™ プロセッサーを搭載したスマートフォン (Lava Xolo* X900、Lenovo* K800、Orange San Diego) が発売されました。これらのスマートフォンはすべて米国外で発売されたものです。
2.1. Avaya Flare*
2010 年 9 月 26 日に発売された Avaya Flare* は、インテル® Atom™ プロセッサー Z540 (1.86GHz) を搭載した最初の Android* タブレットです。Android* 2.1 (Eclair) が動作し、11.6 インチの画面に 500万画素のフロントカメラという、当時としては高いスペックを備えていましたが、 バッテリーライフは 3 時間未満で市場のほかのタブレットと比べて約半分、重さは約 1.5 キロで約 2 倍と、メリットばかりではありませんでした。
2.2. ViewSonic* ViewPad* 10
ViewPad* 10 は、インテル® Atom™ プロセッサーを搭載した、Windows* 7 と Android* 2.2 (Froyo) の両方が動作する最初のタブレットでした。2011 年 2 月 3 日に発売され、1.66GHz のプロセッサー (N455) と 10.1 インチの画面が特徴でした。1300 万画素 のフロントカメラ、4 ~ 6 時間のバッテリーライフ、重さ約 870 グラムと、当時のほかのタブレットとほぼ同じ性能を備えていました。
2.3. Lava Xolo* X900
X900 は、インテル® Atom™ プロセッサーを搭載した最初の Android* スマートフォンです。2012 年 4 月にインドで発売され、インテルのリファレンス・デザインを採用していました。4 インチ (解像度 1024×600) の画面、8MP のバックカメラ、1300万画素のフロントカメラ、NFC (Near Field Communication) を備えていました。NFC は、NFC に対応したほかのデバイスや電源のない NFC チップ (タグ) と通信が可能なテクノロジーです。このテクノロジーを利用すると、データの転送、商品の購入、設定の変更などのさまざまな処理が可能になります。X900 には、インテル® ハイパースレッディング・テクノロジー (インテル® HT テクノロジー) 対応のインテル® Atom™ プロセッサー Z2460 (1.6GHz) が搭載されていました。インテル® HT テクノロジーを利用すると、プロセッサーの 1 つのコアがオペレーティング・システムでは 2 つのコアとして扱われます。OS で利用可能な実行リソースが 2 倍になり、システム全体のパフォーマンスが向上します。この機能は ARM プロセッサーでは利用できません。X900 は、400MHz のグラフィックス・コア、1GB の RAM、16GB の内部ストレージと、当時の平均的なハイエンド・スマートフォンとほぼ同じ性能を備えていました。また、Sense や Touchwiz のようなカスタム UI ではなく、Android* 2.3 (Gingerbread) で動作していました。2012 年後半には Android* 4.0 (Ice Cream Sandwich) に更新される予定です。ほかの多くの Android* スマートフォンとは異なり、X900 のバッテリーは着脱不可で、SD カードスロットはありません。Android* コミュニティーの一部から、この点は短所であると指摘されていましたが、HTC の新しい One シリーズを含む新しいハイエンドの Android* スマートフォンでは、同じ仕様を採用するものが増えています。着脱不可のバッテリーが採用される理由は、スマートフォンがより薄くなるためです。内部ストレージは SD カードよりも高速であるため、SD カードスロットの廃止は、スマートフォンのパフォーマンスを向上させる取り組みの 1 つとも考えられます。
2.4. Lenovo* K800
K800 は 2012 年 5 月末に中国で発売されました。Xolo X900 と同じインテル® HT テクノロジー対応のインテル® Atom™ プロセッサー (1.6GHz) と 400MHZ のグラフィック・プロセッサーなど、同じインテルのリファレンス・デザインを採用しているため、その仕様の多くは Xolo X900 と共通しています。X900 と同様に、800 万画素 のバックカメラ、1300万画素のフロントカメラ、1GB の RAM、16GB の内部ストレージを備えていました。K800 は、Android* 2.3 (Gingerbread) ベースの Lenovo* のカスタム UI で動作し、 バッテリーは着脱不可です。UI を除き、4.5 インチの画面、大容量バッテリー、SD カードスロットの有無を含め、違いはほとんどありません。
2.5. Orange San Diego
インテル® プロセッサーを搭載した 3 つ目のスマートフォンは、2012 年 6 月にイギリスで発売されました。インテルのリファレンス・デザインを採用しており、Xolo X900 とほぼ同一のスマートフォンです。同じ 1.6GHz のインテル® HT テクノロジー対応インテル® Atom™ プロセッサーと 400MHz のグラフィック・プロセッサー、同様のカメラ、1GB の RAM、16GB のストレージ、4 インチの画面を備えています。Android* 2.3 (Gingerbread) ベースの Orange のカスタム UI (K800 のカスタム UI とは異なる) で動作します。これまでの 2 つのスマートフォンと同様に、バッテリーは着脱不可で、SD カードスロットはありません。
2.6. 将来のデバイス
Android* が動作する多くの Medfield スマートフォンが、2012 年後半に発売される予定です。Android 4.1* (Jelly Bean) が動作する最初の Medfield スマートフォンは、2012 年第 4 四半期に発売されることが報道されています。また、デュアルコア 1.8GHz のインテル® Atom™ プロセッサー (開発コード名: Clover Trail) を搭載した Android* スマートフォンは、2013 年第 1 四半期に発売される予定です。これらのスマートフォンは Android* 4.1 (Jelly Bean) で動作します。
3. Android* SDK/NDK の x86 サポート
当初の SDK/NDK では x86 プロセッサーはサポートされていませんでした。サポートは段階的に行われ、2011 年 7 月にリリースされた SDK のリビジョン 12 および NDK のリビジョン 6 で、x86 ベースのプラットフォームのサポートが追加されました。
その後、2012 年 3 月にリリースされた SDK のリビジョン 17 で、ネイティブ x86 エミュレーターがサポートされました。この結果、x86 プロセッサーを搭載し、仮想化ハードウェア (インテル® バーチャライゼーション・テクノロジー、インテル® VT) に対応している開発コンピューター上で、ほぼネイティブに近い速度で Android* エミュレーターを実行できるようになりました。
4. Android* 向けインテル® ソフトウェア
インテルは、開発者がインテル® Atom™ プロセッサー向けにアプリケーションを最適化できるように、さまざまなソフトウェアをリリースしています。代表的なものは、Android* 向けインテル® Atom™ x86 System Image、インテル® Hardware Accelerated Execution Manager (インテル® HAXM)、インテル® グラフィックス・パフォーマンス・アナライザーです。
4.1. インテル® Hardware Accelerated Execution Manager (インテル® HAXM)
2012 年 2 月にリリースされたインテル® HAXM は、Windows*、Mac*、および Linux* プラットフォームをサポートしています。インテル® HAXM はインテル® バーチャライゼーション・テクノロジー (インテル® VT) を使用するハードウェア支援による仮想エンジン (ハイパーバイザー) で、ホスト開発マシン上で Android* アプリケーションのエミュレーションを高速化します。インテルから提供されている Android* x86 エミュレーター・イメージと公式の Android* SDK Manager の組み合わせて、インテル® HAXM はインテル® VT 対応システム上でより高速に Android* のエミュレーションを行うことができます。
4.2. インテル® グラフィックス・パフォーマンス・アナライザー (インテル® GPA)
Android* のサポートを含む最新バージョンは、2012 年 3 月にサンフランシスコで開催された GDC (ゲーム・デベロッパーズ・カンファレンス) で発表されました。インテル® GPA は、ゲーム、メディア、その他のグラフィック集約アプリケーションの分析と最適化を行う、アジャイル開発者向けの強力なツールスイートで、 CPU メトリック、グラフィック API レベルメトリック、GPU ハードウェア・メトリック、電力メトリックのリアルタイム・チャートを出力します。
4.3. Android* 4.0 向けインテル® Atom™ X86 System Image
2012 年 5 月に、インテルは Android* 4.0 (Ice Cream Sandwich) 向けのインテル® Atom™ X86 System Image をリリースしました。このエミュレーション・プラットフォームを利用すると、物理的なインテル® Atom™ プロセッサー・ベースのデバイスのない開発者でも、ネイティブに近い速度で、PC 上でアプリケーションを開発してテストすることができます。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。