オペレーティングシステム Android: Googleが開発しているオペレーティングシステム

Android(アンドロイド)は、Googleが開発した汎用モバイルオペレーティングシステムである。Linuxカーネルやオープンソースソフトウェアがベースで、主にスマートフォンやタブレットなどのタッチスクリーンモバイルデバイス向けにデザインされている。PC用にはAndroid-x86、テレビ用にはAndroid TV、自動車用にはAndroid Auto、ウェアラブルデバイス用にはWear OS(旧:Android Wear)がある。世界で最もよく使われているオペレーティングシステムであり、2021年5月時点で30億台を超えるアクティブデバイスがある。 iPhoneと区別する為に、Androidスマートフォンをさす呼称としても使われる。

Android
オペレーティングシステム Android: 概要, 特徴, 構成
開発者
開発状況 開発中
ソースモデル FOSS
初版 2008年9月23日 (15年前) (2008-09-23)
最新安定版 Android 14 - 2023年10月4日 (6か月前) (2023-10-04) [±]
最新開発版 なし [±]
リポジトリ ウィキデータを編集
プラットフォーム ARMMIPSx86x64
カーネル種別 モノリシックカーネル
ライセンス Apache 2.0、GPLv2、LGPLなど
ウェブサイト android.com ウィキデータを編集
サポート状況
サポート中
テンプレートを表示

概要

2003年アンディ・ルービン、リッチ ・マイナー、ニック・シアーズ、クリス・ホワイトがアメリカカリフォルニア州パロアルトに携帯電話向けソフトウェアプラットフォームを開発するAndroid社を設立した。2005年にGoogleがAndroid社を買収し、一時はGoogleが「gPhone」という独自の携帯電話端末の開発を進めているという憶測が流れた。2007年11月5日、携帯電話用ソフトウェアのプラットフォームであるAndroidを、Google、米クアルコム通信キャリアのT-モバイル(T-Mobile International)などが中心となり設立した規格団体「Open Handset Alliance」(オープン・ハンドセット・アライアンス、OHA)が発表した。

無償で誰にでも提供されるオープンソース(オープンソースソフトウェア)であり、サードパーティーのベンダーが独自にカスタマイズしやすくすることを目的として、Apache License 2.0に基づいて配布されている。2008年10月からは対応する携帯電話が多数販売されている。

競合するモバイル向けプラットフォームは、AppleのiOS/iPadOS/watchOS/tvOSがある。過去の競合にはマイクロソフトのWindows Mobile/Windows Phone/Windows 10 Mobile、アクセンチュアのSymbian OS、クアルコムのBrew MP、ブラックベリーのBlackBerry、Linux FoundationのTizenなどがあった。Googleはスマートフォン・タブレット・腕時計(スマートウォッチ)以外にもゲーム機・冷蔵庫といった領域にもAndroidを搭載させる考えである。

Android OSを搭載するスマートフォンとタブレットはベンダー各社から発売されており、それぞれベンダー固有のブランド名が付けられている。これらはAndroidスマートフォンやAndroidタブレットというような総称で呼ばれる。主な競合はiOSあるいはiPadOSを搭載するiPhoneおよびiPadである。

特徴

この節では、Android Developers から発表されている標準のAndroid(AOSP)について記述する。サードパーティーが独自に追加(カスタマイズ)した機能は含まない。

ユーザーインターフェース

Androidのユーザーインターフェース

Androidのユーザーインターフェース(UI)はサードパーティーの端末メーカーによるカスタマイズが許可されており、通例メーカーごとに独自のUIが搭載されている。カスタマイズが施されていない標準のAndroidは通称AOSP版と言われ、Android Open Source Projectのソースコードから直接ビルドしたものを指す。また、メーカーやサードパーティーが開発したものはカスタムROMと言われている。

Androidの基本操作はタッチインターフェースとなっており、指を使って直感的な操作ができるようになっている。表示されたボタン類を押すタップ、長押しタップ(つまむ)、画面端からタップスライドしてメニュー類を表示するスワイプ、マルチタッチによるピンチや回転などができるようになっている。画面をタップした際に、ボタンを押したという感覚を起こさせるために、本体をバイブで振動させる機能を持ち合わせる。ジャイロスコープやGPS、加速度センサーなどのハードウェアをサポートしており、アプリケーション側からそれらにアクセスして活用する事もある。ジャイロスコープは端末を縦向きから横向きに変更する際に使われる事が多い。ゲームの例ではレースゲームで車をハンドル操作する際、端末を傾けてハンドル操作に当てはめるものがある。

ホームスクリーン上には、パソコンのデスクトップ画面のようにアプリケーションのアイコンが並び、アプリをインストールするとホームスクリーン上に自動的に配置される。また長押しタップでアイコンを移動したり、フォルダを作成して格納する機能を持つ。これに加えてウィジェットを配置できるようになっている。ウィジェットは、天気予報やニュースなどのライブ情報などがあり、ホームスクリーンから直接見ることができる。ホームスクリーンは画面外にも複数用意されており、画面を左右にスワイプすることで複数のホームスクリーン間を移動できる。

画面上部にはステータスバーが配置されている。ステータスバーは、通知やシステムの状態情報を表示するためのシステムUIである。ステータスバーには通信状態やシステムサービス(Google Mobile Serviceなど)の稼働状況、バッテリー残量、時刻などが表示される。ステータスバーを下方にスワイプすることでクイック設定パネルが表示され、頻繁に使われる機能や各種システム設定(例えばWi-Fi/Bluetooth/機内モード/画面自動回転のON/OFFボタンなど)に素早くアクセスすることができる。クイック設定パネルの下部には通知ドロワーが表示され、通知の詳細を確認したり、各通知からのアプリ操作につなげたりすることができる。通知はステータスバーにもアイコンとして表示され、例えば新着のメールやSMSを受信したりデバイスを接続したりしたときに、ユーザーに作業を中断させることなく知らせることができる。

画面下部には「戻る」ボタン/「ホーム」ボタン/「マルチタスク」(アプリケーションリスト)ボタンによる各操作を実行できるナビゲーションバーが、Android 3.x、および4.0以降から配置されている。これ以前のバージョンでは、ハードウェアキー(物理ボタン)方式が主流であった。Android 9 Pieでは「ホーム」ボタンと「マルチタスク」ボタンが削除され、スワイプジェスチャーに置き換えられた。ただし、端末メーカーによっては従来のナビゲーションバーを採用しているものや、設定によって従来のナビゲーションバーを利用できるようになるものもある。Android 10では「戻る」ボタンも削除された。

文字の入力

Androidには文字入力のためのIMEを搭載しており、テキストボックスや検索ボックスなどの入力エリアをタップするなどしてフォーカスを当てると画面上に仮想キーボードが表示される。この仮想キーボードを、タップやスワイプ操作することによって文字を入力できるようになっている。IMEはサービスアプリケーションとして動作し、エンドユーザーが自由にサードパーティー製のIMEをインストールすることも可能になっている。IMEとハードウェアが対応していれば、BluetoothやUSB接続の外付けキーボードを接続して入力することができる。また発声によって文字入力を行う音声入力システムも備える。Googleあるいはサードパーティー製の手書き入力アプリを利用して、指やスタイラスペンなどで書いた文字を認識させることもできる。

なお2018年現在、Android OSには標準で日本語入力用のIMEが搭載されていない。そのため、日本語入力を行うには、Google 日本語入力やATOKなどのサードパーティー製IMEをインストールする必要がある。日本国内で販売されている端末は、最初から日本語入力できるようにiWnn、POBox Touch、S-Shoin、ATOK、FSKARENなどが、メーカーによって搭載されている。一部のAndroidデバイスでは、Google純正の新たなIMEであるGboardが最初から搭載されており、また2017年11月にはGboardが日本語に対応し、追加の言語およびキーボードレイアウトをダウンロードするだけで日本語入力ができるようになった。

アプリケーション

Googleの認可を受けた端末には、アプリケーションマーケットとしてGoogle Play(旧 Androidマーケット)がインストールされている。多くの端末では、このGoogle Playからアプリコンテンツをダウンロードして使えるようになっている。2019年9月時点のGoogle Play内では、280万本を超えるアプリケーションが提供されている。

GoogleはGoogle Playを経由しないアプリ配布も認めており、APKファイルから直接インストールできるようになっており、それらのアプリは野良アプリと呼ばれる。ただし一見普通のアプリに見える悪質なアプリ(マルウェア)も存在するため、公式マーケット以外からのダウンロードには細心の注意が必要である。

Androidで表示されるホーム画面を表示させるアプリケーションのことはホームアプリと呼ばれる。たくさんのアプリが公開されており、ユーザーは好きなものを選ぶことができる。別名、ランチャー(Launcher)とも呼ばれる。

構成

Androidは、カーネルからミドルウェア、ユーザーインターフェース、ウェブブラウザ、電話帳などの標準的なアプリケーション・ソフトウェア群までを1つのパッケージにして提供されている。

カーネルにはLinuxの関連技術が使用されているが、その他の部分は様々な技術が用いられており、例えば標準Cライブラリ(libc)のBionic(英語版)はNetBSDのlibcとLinuxのlibcを組み合わせたものをベースにしている。

オペレーティングシステム Android: 概要, 特徴, 構成 
Androidのアーキテクチャ
機能
携帯電話網への対応 GSMUMTSCDMA2000EV-DOLTE3G4G5G
その他のネットワーク対応 Bluetooth無線LANNFC
各種ハードウェアへの対応 衛星測位システム加速度センサ磁気センサ、2D/3D描画支援ハードウェア(GPU)など
ウェブブラウザ Chromiumベースのブラウザが組み込まれている(4.3まではWebKitベース)。この機能は、他のアプリケーションからも利用可能である。
メール ショートメッセージサービス(SMS)及びマルチメディアメッセージングサービス(MMS)が利用可能である。
その他のアプリケーション Javaで作成されたアプリケーションを独自のDalvik仮想マシン/Android Runtime上で動かすことができる。Android 5.0以降では標準の仮想マシンがAndroid Runtime(ART)に変更された。Dalvik/ARTは通常のJava仮想マシンとは異なり、メモリの消費が低く抑えられているなど、モバイル向けに最適化された設計となっている。
アプリケーションマーケット Googleにより、Android用アプリケーションを配布、販売するGoogle Play Storeが運営されている。
マルチタッチ ネイティブに対応しており、HTC Heroなどの機種でサポートされている。ただし、Appleによる特許訴訟を避けるため、2010年2月までは、初期的にはカーネルレベルで無効化されていた。
データストレージAPI データ保存用にSQLiteが組み込まれている。
マルチメディアAPI Media Frameworkと呼ばれる映像と音声用のライブラリにより、H.263H.2643GPP/MP4コンテナ)、H.265MPEG-4 SP、WebMAMR、AMR-WB(3GPPコンテナ)、AACHE-AAC(MP4/3GPPコンテナ)、MP3MIDIVorbisWAVJPEGPNGHEIFGIFBMPWebPなどに対応している。
フォント FreeTypeフォントライブラリにより、TrueTypeType1OpenTypeなどのフォント形式に対応している。
その他のライブラリ OpenGL ESVulkanOpenSL ESOpenMAX AL、Skia(SGL)、SSLzlib標準Cライブラリ(Bionic)、標準C++ライブラリ(libstdc++/libc++)など

プログラミング言語

カーネルとライブラリ、ランタイムはほとんどがC言語またはC++で記述されているが、2021年から新規コードのデフォルト言語をRustにしており、2022年12月現在では新規コードのRustの占める割合が21%に達している。アプリケーションとアプリケーション・フレームワークは、Google独自に構築した仮想マシンであるDalvik仮想マシンまたはAndroid Runtime(ART)上の「Java Platform, Standard Edition(Java SE)のサブセット+Android拡張」環境で記述する。プリインストールされたアプリ、エンドユーザーが後からインストールするアプリを問わず、共通の仮想マシンおよびフレームワークを使用する。

対応CPU

Googleが公式サポートしているCPUはARM(ARMv5以降)、MIPS、x86である。ARM以外の環境はAndroid 2.3から対応した。端末シェアの多くはARMv7とARMv8が占めているが、日本においては2014年3月に大手家電量販店のビックカメラが自社ブランド製品としてIntel Atom搭載のタブレットを発売するなど、x86による製品もあった。

ChromeOSにはAndroidアプリケーションの実行環境としてAndroid Runtime for Chrome(ARC)が搭載されており、x86ベースやARMベースのCPUを搭載するChromebook端末上でAndroidアプリケーションを動作させることもできる。

Microsoft Windows 11では、専用のAndroidサブシステム(Windows Subsystem for Android:WSA)をインストールすることで、x86ベースやARMベースのCPUを搭載するWindows PC上にて、Amazon Appstore経由で入手したAndroidアプリケーションを動作させることもできる。

Androidアプリケーションのパッケージ(APK)には、各種プロセッサのアーキテクチャ固有命令を含むネイティブライブラリを複数含めることができる。エミュレーションにより、x64プロセッサ上でARM32/ARM64ネイティブライブラリのみを含むAndroidアプリケーションを動作させることもできるが、オーバーヘッドを伴う。

カーネル

AndroidのカーネルではLinuxカーネルに独自パッチ[1]を当てたAndroid共通カーネル(ACK)が使われている。

ACK 5.4より前は各プロセッサーベンダー毎にACKを派生したベンダーカーネルがあり、製品メーカーは製品毎にベンダーカーネル派生のプロダクトカーネルを用意していたが、ACK 5.4以降は外部モジュールを読み込むためのカーネルモジュールインターフェース(KMI)を提供する汎用カーネルイメージ(GKI)となり、各プロセッサーベンダーはベンダーモジュールを提供する形となった。

種類 カーネルのURL
Android共通カーネル(ACK) https://android.googlesource.com/kernel/common/
CodeLinaroのカーネル関連コード
Code Aurora Forumの後継)
https://git.codelinaro.org/clo/la/kernel/

ハードウェア寄りでは開発組織 Linaro(英語版)がベンダー固有コードの本家Linuxカーネルへの還元(アップストリーミング)を続けている。

またAndroid共通カーネルも少しずつ本家Linuxカーネルへの還元が進んでおり、本家Linuxで受け入れられなかった独自機能もだんだん標準機能やユーザー空間への置き換えが進んでいる。

機能 過去のAndroidカーネル Androidカーネル 6.1現在(太字はAndroidカーネル独自機能)
プロセス間通信(IPC) Binder Binder(./drivers/android/内)
匿名共有メモリ ashmem ashmem(./drivers/staging/android/内)又は memfd
(ashmemは本家Linuxで削除されたもののアプリの一部で必要となる)
ログ Logger ユーザー空間デーモン(logd)
早期OOM low memory killer PSIモニター+ユーザー空間デーモン(lmkd)
連続メモリアロケータ CMEM/NVMAP/PMEM
ION
DMA-BUF
データ使用量モニタリング xt_qtaguid eBPFベース
ネットワーク権限 Paranoid network eBPFベース
リモート操作(ADBのデバイス側) adb USB gadget FunctionFS gadget+ユーザー空間デーモン(adbd)

仮想マシン

Android 4.4以前のバージョンで動作するアプリケーションは、基本的にはDalvik仮想マシン(VM)上で動作する。DalvikはJavaのオープン実装であるApache Harmonyをベースとしているが、Java APIセットからはSwingやAWTなどが除去され、Android専用のUIフレームワークや独自ライブラリなどが追加されている。Java CDCのAPIは、全てではないが、概ね含まれている。なお、オラクル(旧:Sun)Javaの互換性テストを通過していないため、正式なJavaではない。APIセットはJava Platform, Micro Edition(Java ME)とも異なる。Android 7.0 Nougat以降はJava APIライブラリの実装がOpenJDKベースになった。

Googleから提供されているソフトウェア開発キットでは、Javaプラットフォームによるプログラミング環境と、C/C++による開発がサポートされている。Java以外にも、Javaプラットフォーム向けの複数の言語(Scala、Kotlin)で書かれたプログラムがDalvik/ART上で動作する。Java Native Interface(JNI)を利用して、JavaとC/C++間で相互運用することも可能である。Android 2.3以降ではNative Activityのサポートにより、使用可能なAPIの制約はあるもののC/C++のみでアプリケーションを開発することも可能になっている。また、.NET Framework互換環境の1つであるMonoもAndroidに対応しており、XamarinとMicrosoft Visual Studioを利用することで、.NET言語(C#/F#)を使用してAndroidアプリケーションを開発することができる。

Android 4.4(KitKat)からは、デベロッパー向けに新たな仮想マシンAndroid Runtime(ART)が実装された。ARTは、Dalvikよりもアプリケーションの動作効率などを向上させることを目的に開発された。Dalvikの場合、多様なハードウェアに対応できるよう、アプリを中間コードの状態で保管しておき、実行直前にネイティブコードに変換して動作させるJITコンパイル方式が採用されている。一方でART仮想マシンは、予め最初からネイティブコードに変換しておくため(ahead-of-time:AOT)、実行速度や動作速度が向上する。Android 7.0以降のARTではAOTとインタープリタとJITをミックスしたハイブリッド手法が採用された。

なお、Android 4.4では依然としてDalvikが標準となっており、ARTを用いるためには開発者向けオプションで設定が必要である。ただし、アプリケーションによってはART上では正常動作しないものもあり、Dalvikとの完全互換は保証されていない。

Android 5.0からは、ART仮想マシンが標準となった。5.0に搭載されたバッテリー改善システムと、ARTの効率性の良さという組み合わせによって、バッテリー持続時間がAndroid 4.4と比較して1.37倍と大幅に伸びた。

ブートローダー

ブートローダー(bootloader)とは、デバイスの電源を入れた際にフラッシュメモリ上にインストールされたLinuxカーネルを読み込み、そこからAndroidを起動させるシステムである。パソコンで例えると、BIOSという部分に相当する。ブートローダーのインターフェースは、一部の端末でアクセス可能である。多くの場合は、電源ボタンと音量ダウンボタンを同時押ししながら電源を入れて起動させる事ができる。起動後に表示されるインターフェースは、fastbootモードとも呼ばれる。ほとんどの携帯端末ではブートローダーにUbootが使用される。

開発環境

アプリケーション開発用にはAndroid SDK(Software Development Kit)が、ランタイムとライブラリの開発用にはAndroid NDK(Native Development Kit)が無償提供されている。SDKとツール類は後述のAndroid Studioに含まれているほか、単独のコマンドラインツールも利用可能である。Android SDKに含まれる通信ツール「Android Debug Bridge」(adb)によって、Androidデバイス(携帯電話機/タブレットなど)とホストPCとをUSBで接続して、アプリケーションプログラムをデバイス上で実行しながらPC上でデバッグすることができる。Googleが有償で提供するSIMロックフリーの開発専用携帯電話機や他社の専用の携帯電話機エミュレータでないと、低レベルのランタイムとライブラリを書き換えることはできない。統合開発環境は、Android Studioが推奨されている。Android Studioの実行環境つまりホストとして対応しているOSは、Microsoft Windows、macOS、Linux(Ubuntuなど)、ChromeOSである。Visual Studio、IntelliJ IDEA、RAD Studioなど他の統合開発環境もAndroid開発に対応しているものがある。

当初はアプリケーション開発にEclipseと専用プラグイン(Android Development Tools:ADT)が利用されていた。Googleは、2013年5月15日に開催されたGoogle I/OでAndroid Studioと称する新たな統合開発環境を開発中であることを表明した。これはIntelliJ IDEAをベースにしたオープンソースによるAndroid専用の開発環境であり、ビルドツールとして従来のApache AntではなくGradleを採用している。また、レイアウトのデザインもよりグラフィカルで端末実機のイメージに近くなるとされる。2014年12月8日に正式版1.0がリリースされた。これに伴い、Eclipse用プラグインのサポートは2015年に終了した。

Android SDKでは、Android Virtual Device(AVD)と呼ばれるPC上で動作する仮想デバイスを用いることができる。対応CPUと同様にARM、MIPS、x86の3種類のアーキテクチャをエミュレーションするソフトウェアがSDKに同梱されており、これにロードされるシステムイメージもAndroidバージョンごとにそれぞれ提供されている。ユーザーがこれらを選択して、任意のAndroidバージョンとCPUエミュレータの組み合わせによるAVDを作成する。ただし、一般的なエミュレータと同様、他のコンピュータシステムをエミュレーションするために動作が非常に重く、快適なデバッグを行うことは難しい。これをカバーするため、仮想化支援機能をサポートしているx86アーキテクチャのCPUが搭載されたホストマシン上では、x86システムイメージによるAVDを高速化することができる。WindowsおよびmacOSにおいては、インテルが提供するIntel Hardware Accelerated Execution Manager(HAXM)によってIntel VTによるサポートを有効にすることができる。また、Linux版のSDKにおいては、x86エミュレータ自体がKVM上で動作させることが可能となっており、Intel VTまたはAMD-Vによるサポートによって高速化することができる。

Google Mobile Service

ほとんどのAndroid端末には、プロプライエタリソフトウェアのGoogle Mobile Service(GMS)アプリがプリインストールされている。Google Play、マップ、ギャラリー、カレンダー、Gmail、トークなどが含まれる。GMSアプリの搭載は互換性テストのCompatibility Test Suite(CTS)を通過し、Googleにライセンスを与えられた端末のみ認められている。オープンソースのAndroidから派生して、これらのアプリが入っていない場合は、CyanogenMod Gappsなどからroot権限で /system フォルダにコピーしてインストール可能。

エミュレーション・モデル

基本ハードウェアを「goldfish」と定義しており、SDKのQEMUエミュレータはそれを踏襲している。サポートしているスペックは下記の通り。ただし、2007年10月当時のスペックである。

  • goldfishモデル
    • メインメモリ:96MB
    • VRAM:8MB
    • 画面サイズ:480×320画素(HVGA)、または320×240画素(QVGA)、ともに縦長または横長配置

バージョン

歴代のコードネームのうち、バージョン1.5から9までは頭文字がバージョンの発表順にCからPまでのアルファベット順で始まる菓子の名前が付けられており、Androidロボットが各コードネームの菓子に扮していた。また、コードネームがエンドユーザー向けの製品別名として使われることもあった。バージョン10からはそのようなコードネームは付けられなくなり、コードネームはアルファベット1文字だけになった。また、バージョン10以降では、コードネームはエンドユーザー向けの製品別名としては使われなくなっている。

シェア

スマートフォン

世界でのスマートフォンの販売台数のシェアの推移は以下の通り。

時期 総数 Android iOS Symbian BlackBerry Bada Microsoft その他
2009年第2四半期 40,971,800 1.8% 13.0% 51.0% 19.0% 9.3% 5.8%
2009年第3四半期 41,093,300 3.5% 17.1% 44.6% 20.7% 7.9% 6.2%
2009年第4四半期
2010年第1四半期 54,505,500 9.6% 15.3% 44.2% 19.7% 6.8% 4.4%
2010年第2四半期 62,058,100 17.2% 14.1% 40.9% 18.7% 0.9% 4.9% 3.2%
2010年第3四半期 81,132,600 25.3% 16.6% 36.3% 15.4% 1.1% 2.7% 2.5%
2010年第4四半期 101,150,300 30.5% 15.8% 32.3% 14.6% 2.0% 3.4% 1.5%
2011年第1四半期 99,775,000 36.4% 16.9% 27.7% 13.0% 1.9% 2.6% 1.5%
2011年第2四半期 107,740,400 43.4% 18.2% 22.1% 11.7% 1.9% 1.6% 1.0%
2011年第3四半期 115,185,400 52.5% 15.0% 16.9% 11.0% 2.2% 1.5% 0.9%
2011年第4四半期 149,041,800 50.9% 23.8% 11.7% 8.8% 2.1% 1.9% 0.8%
2012年第1四半期 144,391,700 56.1% 22.9% 8.6% 6.9% 2.7% 1.9% 0.9%
2012年第2四半期 153,686,100 64.1% 18.8% 5.9% 5.2% 2.7% 2.7% 0.6%
2012年第3四半期 169,178,600 72.4% 13.9% 2.6% 5.3% 3.0% 2.4% 0.4%
2012年第4四半期 207,662,400 69.7% 20.9% 1.2% 3.5% 1.3% 3.0% 0.3%
2013年第1四半期 210,046,100 74.4% 18.2% 0.6% 3.0% 0.7% 2.9% 0.3%
2013年第2四半期 225,326,200 79.0% 14.2% 0.3% 2.7% 0.4% 3.3% 0.2%
2013年第3四半期 250,231,700 81.9% 12.1% 0.2% 1.8% 0.3% 3.6% 0.2%
2013年第4四半期
2014年第1四半期 281,636,900 80.8% 15.3% 0.6% 2.7% 0.6%
2014年第2四半期 290,384,400 83.8% 12.2% 0.7% 2.8% 0.5%
2014年第3四半期 305,384,000 83.3% 12.5% 0.8% 3.0% 0.4%
2014年第4四半期 367,334,400 76.0% 20.4% 0.5% 2.8% 0.4%
2015年第1四半期 336,054,400 78.9% 17.9% 0.4% 2.5% 0.4%
2015年第2四半期 329,676,400 82.2% 14.6% 0.3% 2.5% 0.4%
2015年第3四半期 352,844,000 84.7% 13.1% 0.3% 1.7% 0.3%
2015年第4四半期 403,109,400 80.7% 17.7% 0.2% 1.1% 0.2%
2016年第1四半期 349,251,400 84.1% 14.8% 0.2% 0.7% 0.2%
2016年第2四半期 344,359,700 86.2% 12.9% 0.1% 0.6% 0.2%
2016年第3四半期 373,292,500 87.8% 11.5% 0.1% 0.4% 0.2%

日本国内でのスマートフォンの利用者数(契約者数)の推移は以下の通り。

時期 総数 Android iOS(iPhone) Microsoft その他 調査会社
2010年6月 435,000 2,557,000 2,144,000 コムスコア
2010年9月 5,702,000 841,000 3,347,000 1,475,000 39,000 コムスコア
2010年12月 6,975,000 2,174,000 3,787,000 831,000 183,000 コムスコア
2011年3月 9,764,000 4,601,000 3,906,000 1,257,000 コムスコア
2011年11月 15,100,000 61.0% 33.0% 5.7% 0.3% コムスコア
2012年2月 19,300,000 61.4% 34.2% 3.9% 0.5% コムスコア
2012年3月 62.2% 33.7% 3.7% 0.4% コムスコア
2012年6月 24,086,000 64.1% 32.3% 3.2% 0.4% コムスコア
2013年1月 40,610,000 63.3% 34.8% 1.9% MM総研
2013年9月 50,150,000 63.0% 35.6% 1.4% MM総研
2014年3月 57,340,000 57.1% 41.8% 1.2% MM総研
2017年10月 31.8% 68.2% ウェブレッジ
2019年8月 40.8% 59.2% ウェブレッジ
2019年12月 42.08% 57.02% ウェブレッジ
2020年5月 39.6% 60.4% BCN

タブレット

世界のタブレット出荷台数(電子書籍端末を除く)

時期 総数 Android iOS Windows その他 調査会社
2010年第4四半期 10,700,000 29.0% 68.2% 2.8% Strategy Analytics
2011年第2四半期 15,042,000 29.2% 61.4% 8.6% Strategy Analytics
2011年第3四半期 17,200,000 29.2% 64.5% 6.4% Strategy Analytics
2011年第4四半期 26,800,000 39.2% 57.4% 1.9% Strategy Analytics
2012年第1四半期 18,700,000 34.2% 63.1% 2.7% Strategy Analytics
2012年第2四半期 24,944,000 29.3% 68.3% 2.4% Strategy Analytics
2012年第3四半期 24,700,000 41.3% 56.7% 2.0% Strategy Analytics
2012年第4四半期 52,500,000 43.6% IDC
2013年第1四半期 40,600,000 43.4% 48.2% 7.4% 1.0% Strategy Analytics
2013年第2四半期 51,700,000 67.0% 28.3% 4.5% 0.2% Strategy Analytics
2013年第3四半期 47,600,000 29.6% IDC

日本国内のタブレット出荷台数(電子書籍端末を除く)

時期 総数 Android iOS Windows その他 調査会社
2010年4月 - 2010年9月 350,000 20,000 320,000 10,000 ICT総研
2010年10月 - 2011年3月 540,000 50,000 480,000 10,000 ICT総研
2011年4月 - 2011年9月 1,180,000 370,000 780,000 30,000 ICT総研
2011年10月 - 2012年3月 1,580,000 490,000 1,040,000 50,000 ICT総研
2012年4月 - 2013年3月 5,680,000 42.4% 52.5% 0.0% 5.1% MM総研
2013年4月 - 2014年3月 7,480,000 45.7% 43.8% 10.5% - MM総研
2014年4月 - 2015年3月 9,290,000 45.7% 43.9% 10.4% - MM総研
2015年4月 - 2016年3月 9,030,000 46.0% 40.0% 14.1% - MM総研

バージョン

Android Studioでプロジェクトを新規作成するときに確認可能な、バージョンごとの世界シェア(2021年7月時点でのデータ)。

バージョン コードネーム リリース API シェア
4.0.3 - 4.0.4 Ice Cream Sandwich 2011年10月18日 15 0%
4.1 Jelly Bean 2012年7月9日 16 0%
4.2 2012年11月13日 17 0%
4.3 2013年7月24日 18 0%
4.4 KitKat 2013年10月31日 19 0.3%
5.0 Lollipop 2014年11月3日 21 0.3%
5.1 2015年3月9日 22 0.3%
6.0 Marshmallow 2015年10月5日 23 1.9%
7.0 Nougat 2016年8月23日 24 2.0%
7.1 2016年12月5日 25 5.0%
8.0 Oreo 2017年8月21日 26 7.0%
8.1 2017年12月5日 27 5.3%
9 Pie 2018年8月6日 28 17.7%
10 Q 2019年9月3日 29 34.5%
11 R 2020年9月8日 30 25.9%
12 S 2021年10月4日 31 未計測
13 Tiramisu 2022年8月16日 33 未計測

ライセンス

Androidのソースコードは、アプリケーション・フレームワークから標準ライブラリ、ランタイム、カーネルまでのすべてが公開され、改変も自由である。基本的にAndroidのソースコードのライセンスは、Apache License 2.0に準じるため、Androidを採用した企業・個人が改変部や付加部分をGPLのように公開する必要はない。ただし、WebKitのライセンスはLGPLであり、カーネルとそのライブラリなどのLinuxに基づく部分のライセンスはGPLであるため、公開が求められる。

Gmail、Googleマップ、Google検索、Google Playなどの一部のGoogle製アプリケーションは、Androidと密に連携しているがプロプライエタリなライセンスで提供されている。これらのGoogle製アプリケーションはGoogle Mobile Service認証をGoogleから受けた端末に対してのみ供給され、それらの端末でのみ動作が認められる。したがってカスタマイズしたAndroidに、これらのアプリケーションを載せるためには、カスタマイズを施したプロジェクトが個別にGoogleの許諾を得る必要がある。なお、アプリケーションをGoogle提供のファームウェアからバックアップし、権利を侵害していないカスタム版に再インストールする(カスタム版にはアプリケーションをバンドルしない)手法が説明される場合もあるが、Google Mobile Service認証を経ておらず、ライセンス違反の行為となる。

タブレット向けのバージョンであるAndroid 3.xはスマートフォンへの対応が不完全であるということを理由としてソースコードの公開が見送られていたが、4.0.1から再度公開に戻った。ただし、3.xのソースコードはGitの履歴の中に存在するだけで、Gitのタグとしては割り振られていない。

歴史

アンディ・ルービンが設立したプラットフォームベンダーである米Android社を、2005年にGoogleが買収したことから一時はGoogleが「gPhone」と呼ばれる独自の携帯電話端末の開発を進めているという憶測が流れた。2007年11月に「Open Handset Alliance」(オープン・ハンドセット・アライアンス、以下OHAと表記)を通じて新規プラットフォームの概要のみが発表される結果となった。

  • 2007年11月5日 - 携帯電話用ソフトウェアのプラットフォームであるAndroidを、米検索最大手Google、米クアルコム通信キャリアのT-モバイル(T-Mobile International)などが中心となり設立した規格団体 OHAが発表した。
  • 2008年
  • 2009年
  • 2010年
    • 1月5日 - Googleより、世界初のAndroid 2.1を搭載したNexus Oneが発売された。
    • 12月16日 - Googleより、世界初のAndroid 2.3を搭載したNexus Sが米国で発売された。
  • 2011年
  • 2012年
    • 7月10日 - Android 4.1が公開された。最初にGalaxy NexusMotorola XoomNexus Sのグローバルモデル向けにアップデートを開始した。
    • 11月13日 - Android 4.2が公開された。Nexus 4Nexus 10に標準搭載されて発売された。
  • 2013年
    • 7月24日 - Android 4.3が公開された。Nexus 4Nexus 7Nexus 10向けのアップデートを開始。
    • 11月1日 - Googleより、世界初のAndroid 4.4を搭載したNexus 5が発売された。
  • 2014年
    • 3月18日 - スマートウォッチ向けにカスタマイズされたAndroid Wearをリリース。
    • 6月25日 - カーナビゲーションシステムのAndroid Autoを発表。
    • 6月26日 - Android Lのデベロッパープレビュー版を、Nexus 5Nexus 7向けに提供開始。
    • 9月15日 - Googleより、新興国市場向け低価格帯スマートフォンのAndroid Oneが発表された。
    • 10月15日 - Android Lの正式版となるAndroid 5.0が発表された。
    • 11月3日 - Android 5.0の正式版を公開。
  • 2015年
    • 3月10日 - Android 5.1の正式版を公開。
    • 10月6日 - Android 6.0の正式版を公開。
  • 2016年
    • 3月10日 - Android 7.0の公開ベータ版をリリース。当初コードネームがなく、Android Nとして発表された。
    • 8月23日 - Android 7.0の正式版を公開。
    • 10月4日 - Android 7.1の正式版を公開。
    • 12月5日 - Android 7.1.1の正式版を公開。
  • 2017年
    • 4月4日 - Android 7.1.2の正式版を公開。
    • 8月21日 - Android 8.0の正式版を公開。
    • 11月27日 - Android 8.1の正式版を公開。
  • 2018年8月6日 - Android 9の正式版を公開。
  • 2019年9月3日 - Android 10の正式版を公開。
  • 2020年9月8日 - Android 11の正式版を公開。
  • 2021年10月4日 - Android 12の正式版を公開。
  • 2022年8月16日 - Android 13の正式版を公開。
  • 2023年
    • 9月6日 - ロゴを刷新。
    • 10月4日‐Android 14の正式版を公開。

世界での発売端末

セキュリティ

オペレーティングシステム Android: 概要, 特徴, 構成 
Android 6.0 以降の権限管理画面。5.1.1 以前と比べ、個別に権限を管理することができる。

Androidのアプリケーションは、スーパーユーザー権限(root)を要求する一部のアプリを除き、システムの重要領域やユーザー情報にアクセスできないようサンドボックスで動作する。

権限に関してはユーザーに視覚的にわかるように、アプリをインストールする際、必要な権限のリストを表示する機能がある。例えば「Google マップ」の場合は、位置情報の読み取り(GPSへのアクセス)があり、「カメラ」だと撮影、マイクによる録音などの権限がリストに表示される。この機能によって、アプリケーションに無関係な権限を要求された際には、ユーザーが確認できる。

Android 4.3ではアプリ毎に権限を設定できる機能が実験的に追加されたが、アプリケーションの互換性を損なう恐れがあるという理由で4.4では無効になった。

端末をスリープ解除する際には、ロック画面にPINコードやパターンロックを割り当てる事もできる。これに加えてAndroid 5.0以降では、自宅にいる時、スマートウォッチが接続されている時などの条件に応じて自動でロック解除できるスマートロック機能もある。

盗難などで不正にファクトリーリセットされた端末は、Android Device Protection(アンドロイド デバイスプロテクション)という保護機能が働く。デバイスプロテクションが作動すると、直前オーナーのGoogleアカウントにログインしなければ全ての機能が使えないようロックされる。

その他に、端末の位置を逆探知したりリモートロックできるAndroid デバイス マネージャー(ADM、スマートフォンを探す)も提供されており、盗難や置き忘れの対応策のひとつとされている。

日本でのセキュリティ

トレンドマイクロ社によると、2012年1月から3月の間に、Androidの不正アプリが約5,000種発見されたとしている。また、同社では、2012年4月に人気アプリである写真共有サービス「Instagram」や、アクションパズルゲーム「Angry Birds Space」などの偽アプリ配布サイトが存在し、特定のWebサイトにアクセスし、モバイル端末に他のファイルをダウンロードするなど、不正な動作を行う偽アプリがダウンロード出来るようになっていたことを確認している。「Google Play(旧Android Market)」などの公式サイトにおいて偽アプリが確認されるケースもある。

このような課題に早急に対応していくために、日本は、2011年10月に「スマートフォン・クラウドセキュリティ研究会」を設置し、スマートフォンを狙うマルウェア等に対する事業者等における対策の在り方や、利用者への情報セキュリティ対策の啓発の必要性について検討を進めてきた。同研究会では、同年12月の中間報告で、スマートフォン利用者が最低限取るべき情報セキュリティ対策として、「スマートフォン情報セキュリティ3か条」33を提唱し、2012年6月に最終報告を取りまとめた。また、2011年12月に「利用者視点を踏まえたICTサービスに係る諸問題に関する研究会」において「スマートフォンを経由した利用者情報の取扱いに関するWG」が開催され、スマートフォンにおける利用者情報が安心・安全な形で活用され、利便性の高いサービス提供につながるよう、諸外国の動向を含む現状と課題を把握し、利用者情報の取扱いに関して必要な対応等の検討が進められている。2012年4月には、スマートフォンを巡るサービス構造、利用者情報の取扱いに関する現状、利用者情報の管理等の在り方及び利用者に対する周知の在り方等の今後の論点を取りまとめた中間取りまとめ及び利用者自身が注意すべき事項を整理した「スマートフォンプライバシーガイド」34が公表された。

組み込み用Android

"Open Embedded Software Foundation"(OESF)がAndroidを基に、機能を追加した組み込み用プラットフォームを開発中である。OESFのWebには2005年からのタイムスタンプがある。日本のOESFはWebによると2009年2月12日に設立された。2011年3月現在のバージョンは、Android 2.2を基にしEM3(OESF Embedded Master 3)と呼ばれる。2011年3月にオープンソースとして一般向けに公開された。

IP電話、デジタルテレビ、マルチメディア、DLNA、Bluetooth、リモートコントロール、ポインティング・デバイス、ネットワーク管理、ユーザーインターフェース、SDKなどの機能拡張を行ってアプリケーション・フレームワークより上位のAPIから使用する。EM1の機能拡張は全てではないと推測されるが、Linuxカーネル部分と同じ深さでハードウェア上に直接載る低レベルで実装される。EM2は、Android 2.0を元に開発され、2010年10月に公開された。Androidそのものが軽量化を意図して設計されているが、OESF版ではさらに基本コンポーネントだけに絞り、必要な機能を選んで追加できる。

Android Go Edition

Android Go editionは、Googleが開発者カンファレンス「Google I/O 2017」において「Android Go」プロジェクトとして発表された。メモリーやストレージが少ないローエンド端末でもAndroidが効率的に動作するように設計されており、Android 8.1 Oreoで動作するメモリー1GB以下のデバイス向けに最適化されている。

マスコット

Androidのロゴには緑色のロボットのマスコットキャラクターが使われており、正式名称は「Android ロボット」(Android robot)だが、日本では「ドロイド君」の愛称で呼ばれている。海外ではBugdroidという愛称が使われることもある。

Androidロボットのアートワークはクリエイティブ・コモンズ・ライセンスに基づいて配布されているが、商標権はGoogleが保有する。

イースターエッグ

Android 2.3 Gingerbread以降からは、ジョークの画像やアニメーションを表示する機能が隠されている。いわゆるイースターエッグと呼ばれるものである。この機能にアクセスするには、端末の設定情報から端末情報を開き、一覧にあるAndroidのバージョンを3回連続でタップすると表示される。なおAndroidのバージョンによって、表示される内容が異なる。

  • 2.3(ジンジャーブレッド) - ゾンビの群れ中にAndroidのロボットが表示される。このイラストは、多くのゾンビアートを手がけるジャック・ラーソンによって描かれた。
  • 3.x(ハニカム) - Androidのロボットを、昆虫デフォルメしたイラスト。
  • 4.0(アイスクリームサンドイッチ) - 黒いビスケットに包まれたアイスクリーム状のロボットイラスト。ロングタップすると、8ビットデザインのロボットが無数に飛び交うアニメーションに移動する。
  • 4.1-4.3(ゼリービーンズ) - ゼリービーンズの形をする笑ったAndroidロボットが表示される。ロングタップすると、それが無数に飛び交うアニメーションに切り替わる。ロボットはタップして移動したり弾き飛ばす事ができる。
  • 4.4(キットカット) - アルファベットK(殆どの端末ではビルド番号の頭文字か数字)が表示され、左右をタップすると回転する。数回タップする事で、キットカットのロゴデザインを象ったAndroidロゴが表示される。ここからロングタップすると、4.4以前で全ての歴代バージョンのアイコンがタイル型のインターフェースで表示されるデザートケースの画面に移る。
  • 5.x(ロリポップ) - ペロペロキャンディが表示され、キャンディの部分をタップすると色が変化する。そこから何回かタップして更にロングタップすると、Flappy Birdに似たゲームで遊べる。JRummy Appsによって難易度調整機能が付いた『Lollipop Land』のゲームアプリが公開されている。
    • L(デベロッパービルド) - Android Lの開発者プレビュー版は、ランダムと大きさをした四角形が表示され、下部にビルド番号が表示される。ロングタップすると、4.4と同じくタイル型のインターフェースが表示される。
  • 6.0(マシュマロ) - マシュマロが表示され、ロリポップとは違いマシュマロの部分をタップしても色は変化しない。ロングタップすると、Flappy Birdに似たゲームで遊べるのは同一だが一つの端末で最大6人までのマルチプレイに対応したりタップ位置が表示されるようにもなった。
  • 7.x(ヌガー) - アルファベットのNが表示され、タップしても変化しない。ロングタップすると、猫のアイコンが表示され、クイック設定の編集を押すと猫のアイコンで「????」のメニューが追加される。猫のアイコンをクイック設定に追加すると皿のアイコンに変化し、皿のアイコンをタップするとねこあつめに似たゲームで遊べる。
  • 8.x(オレオ)- スワイプするとタコが画面内でスワイプした方向に合わせて泳ぎ回る。
  • 9(パイ)- 簡易的なペイントツールでお絵描きをすることができる。
  • 10 -「0」と「1」を重ねて「Q」を作り、作成した「Q」をタップすると、お絵かきロジックを遊ぶことができる。
  • 11 - ダイヤルを11に回すと、ディスプレイの下部、ナビゲーションバーの上に小さな猫の絵文字が表示される。
  • 12 - 時計が現れ、長針を回し12時ちょうどに合わせると中心に「12」とともに模様が現れる。

システム領域のカスタマイズ

root化

Androidでも、セキュリティ等の理由からユーザーやアプリケーションがある階層以上にしかアクセスできないように制限がなされている。その制限を解除し最低階層にアクセスできるようにすることを、root化(rooting)、root権を取るという。これにより、より高度な動作をするソフトウェアが実行可能になるが、ほとんどの場合販売元との規約に反するため、サポートを受けられないなどのデメリットが生じる。iOSでのjailbreakに近い。

ただ、AndroidセキュリティチームのNick Kralevichによれば、Googleはroot化を認めている。root化はユーザーの権利の一つであり、一方でユーザーの責任でそれに伴う不利益を受けることは仕方ないという見解を示している。またroot化によってアプリケーションや各種コンテンツの開発者、キャリア会社の権利は侵害されないとしている。

ブートローダーのアンロック

Androidのアップデートは、このブートローダーを経由してアップデートされるが、大半の端末ではブートローダーがロックされている。ブートローダーがロックされていると、メーカーの電子署名が入ったアップデートしか受け付けないようになっている。これに対して、ユーザーが自由にカスタムROMをインストール出来るように、一部の端末ではブートローダーをアンロックする方法がGoogleによって公開されている。

これらは改造行為となり保証外になるのが通常だが、中にはこの行為前提で初めからブートローダーがアンロックされた状態で出荷される端末もある。

fastbootモード

fastbootモード(ファーストブートモード)とは、PC側のコマンド操作によってシステム領域の書き換えやパーティション操作を行うための機能である。fastbootのコマンド機能は前述に加え、ブート、リブート、アプリのアンインストール、ファイルの転送、システムのバックアップ、ブートローダのアンロックなど様々なコマンドに対応する。

問題点

脆弱性

2019年の1年間で、2019年に報告されたOS別の脆弱性の数で最も多い、414件の脆弱性が発見された。

2019年11月、一部のAndroidに個人情報の流出につながる脆弱性が新たに146件見つかった。

プライバシー

2011年04月、ウォール・ストリート・ジャーナル(Web版)が、Androidは個人情報(Android利用者の氏名や場所、付近のWi-Fiネットワークの信号強度や位置情報)を取得・蓄積し、Googleに送信していると報じた。セキュリティ専門家が台湾HTC製のAndroidスマートフォンを調べた際に、これらの情報を少なくとも1時間に数回、Googleに送信していたことが確認されたという。

この報道に対し、GoogleはAndroid搭載端末から位置情報を収集していることは認めたが、すべてあらかじめユーザーの同意を得た上で行っており、また収集したデータは匿名化された形でGoogleのサーバーに送られていることから、プライバシー上問題はないと主張している。

2011年5月、韓国の警察は、Android利用者の位置情報を無断収集した疑いで、米Google韓国法人のGoogle Koreaを家宅捜索し、位置情報の収集に関するデータを押収した。警察関係者は「携帯電話向け広告を扱うGoogle子会社のアドモブが、利用者の同意なくスマートフォン向けアプリケーションを通じて個人の位置情報を収集した疑いがある。押収物を分析し、個人情報の収集量や収集方法を把握する」と話している。

Google Play Storeの問題

2019年12月、Google Play Storeで配布されている、3000個以上のアプリで既知の脆弱性が修正されてないことをトレンドマイクロが発見した。

2020年1月、Androidの脆弱性を利用した、不正なアプリがGoogle Play Storeに混入していることをトレンドマイクロが発見した。

2020年2月、Google Play Storeで提供されているTOP100のアプリのうち、約半数に脆弱性があることをLINEが発見した。

独占禁止法違反

2019年4月18日、独占禁止法に違反しているという欧州委員会(EC)の裁定を受け、欧州の「Android」ユーザーに対して検索アプリとブラウザーの選択肢を提示するという計画の概要を発表。

またECは3月、Googleに対して14億9000万ユーロ(約1900億円)の制裁金を科している。

脚注

注釈

出典

関連項目

外部リンク

Tags:

オペレーティングシステム Android 概要オペレーティングシステム Android 特徴オペレーティングシステム Android 構成オペレーティングシステム Android バージョンオペレーティングシステム Android シェアオペレーティングシステム Android ライセンスオペレーティングシステム Android 歴史オペレーティングシステム Android 世界での発売端末オペレーティングシステム Android セキュリティオペレーティングシステム Android 組み込み用Androidオペレーティングシステム Android Android Go Editionオペレーティングシステム Android マスコットオペレーティングシステム Android イースターエッグオペレーティングシステム Android システム領域のカスタマイズオペレーティングシステム Android 問題点オペレーティングシステム Android 独占禁止法違反オペレーティングシステム Android 脚注オペレーティングシステム Android 関連項目オペレーティングシステム Android 外部リンクオペレーティングシステム AndroidAndroid AutoAndroid TVAndroid-x86GoogleIPhoneLinuxカーネルWear OSオペレーティングシステムオープンソースソフトウェアスマートフォンタッチパネルタブレット (コンピュータ)モバイルオペレーティングシステム

🔥 Trending searches on Wiki 日本語:

大王製紙事件SUPER EIGHT竹内結子射精清少納言森田望智財前直見日本の地震年表ビートたけしUEFAチャンピオンズリーグピッグス湾事件Aikoぼくらの七日間戦争2022年のフンガ・トンガ噴火イギリス自殺・自決・自害した日本の著名人物一覧髙橋遥人くるり〜誰が私と恋をした?〜約束 〜16年目の真実〜超特急 (音楽グループ)ONE PIECEの登場人物一覧白眞勲喧嘩独学岩田剛典藤田譲瑠チマ戒 (ミュージシャン)辻希美澤井杏奈林佑香金子勇 (プログラマー)魔法使いの夜まんこドバイ2024年新垣結衣小松菜奈すずめの戸締まり伊藤淳二紫式部オッペンハイマー (映画)ハ・ヨンス石田ひかり八村塁三鷹事件気象庁震度階級宣徳帝アリエル・マルティネス名鉄3400系電車吉岡里帆相棒森崎ウィン性行為堀川りょうハンス・ベーテ井浦新ディープステート大森元貴僕の心のヤバイやつねずみっ子クラブMattフレディ・フリーマン黒木啓司狼と香辛料上地雄輔麻原彰晃ウトロ地区河合優実大谷翔平魔法科高校の劣等生蜻蛉日記井口裕香SHINOBU (DA PUMP)岸田文雄Number iロベルト・オスナ伊藤沙莉ONE OK ROCKレジェンド・オブ・フォール/果てしなき想い服部良一🡆 More