Android プラットフォーム用語集

Android オープンソース プロジェクト(AOSP)の基本的な用語については、以下のリストをご覧ください。主な用語の定義については、ほかにも次のようなソースがあります。

多様性を受容するエコシステムにするために使用する用語や避けるべき用語の例については、不適切な表現の回避をご覧ください。

アプリ

APK(.apk)ファイル
Android アプリのアプリ パッケージ ファイルで、拡張子は .apk です。各 Android アプリはコンパイルされて単一のファイルにパッケージ化されます。このファイルには、アプリのコード(DEX ファイル、拡張子は .dex)、リソース、アセット、マニフェスト ファイルがすべて含まれます。アプリ パッケージ ファイルの名前は任意ですが、拡張子は .apk にする必要があります(例: myExampleAppname.apk)。便宜上、アプリ パッケージ ファイルは APK と称されることがほとんどです。

関連用語: アプリ

アクション
インテントの送信元が希望する処理を記述したもの。アクションは、文字列値としてインテントに割り当てられます。アクション文字列は、Android デベロッパーやサードパーティ デベロッパーによって定義されます。たとえば、ウェブ URL に対しては android.intent.action.VIEW のように定義し、カスタムアプリでスマートフォンを振動させる場合は com.example.rumbler.SHAKE_PHONE のように定義します。

関連用語: インテント

アクティビティ
アプリ内の 1 画面に相当します。Java コードをサポートし、Activity クラスから派生します。通常、アクティビティのウィンドウは全画面表示で、UI イベントの受信や処理、複雑なタスクの実行が可能です。このウィンドウの表示には、Window オブジェクトが使用されます。アクティビティは全画面表示が一般的ですが、フローティングや透明にすることもできます。
アプリ
コンポーネントという観点からすると、Android アプリは、1 つ以上のアクティビティ、サービス、リスナー、インテント レシーバで構成されています。ソースファイルという観点からすると、Android アプリは、コード、リソース、アセット、1 つのマニフェストで構成されています。コンパイル時に、上記すべてのファイルがアプリ パッケージ ファイル(APK)という単一のファイルにパッケージ化されます。

関連用語: APK(.apk)ファイルアクティビティ

ブロードキャスト レシーバ
BroadcastReceiver クラスに属するオブジェクト。単一のターゲット アプリやアクティビティに対して送信されたインテントではなく、ブロードキャストされたインテントをリッスンします。Android システムは、関連するすべてのブロードキャスト レシーバにブロードキャスト インテントを送信します。ブロードキャスト レシーバは、順にインテントを処理します。

関連用語: インテントインテント フィルタ

コンテンツ プロバイダ
アプリのデータを他のアプリに安全にエクスポーズするために使用するデータ抽象化レイヤ。コンテンツ プロバイダは、ContentProvider クラスに基づいて作成されます。特定の形式のコンテンツ クエリ文字列を処理し、特定の形式のデータを返します。詳しくは、コンテンツ プロバイダをご覧ください。

関連用語: Android で使用される URI

ダイアログ
簡易フォームとして機能するフローティング ウィンドウ。ダイアログにあるのはボタン コントロールだけで、ボタンの選択といった簡単な操作に利用します。値を返すこともできます。ダイアログでは、履歴スタック内に永続すること、複雑なレイアウトを組み込むこと、複雑な操作を実行することは想定されていません。Android には、オプション ボタンを備えたシンプルなダイアログがデフォルトで用意されていますが、独自のダイアログ レイアウトを定義することもできます。ダイアログの基本クラスは Dialog です。

関連用語: アクティビティ

インテント
他のアプリ / アクティビティの非同期起動や、他のアプリ / アクティビティとの非同期通信に使用できるメッセージ オブジェクト。インテント オブジェクトは Intent クラスのインスタンスです。インテント オブジェクトには条件フィールドがいくつかあり、インテントを受信するアプリやアクティビティはどれか、インテントの処理時にレシーバは何をするのかを指定できます。指定できる条件としては、目的のアクション、カテゴリ、データ文字列、データの MIME タイプ、処理クラスなどがあります。アプリは、直接他のアプリやアクティビティにインテントを送信するのではなく、Android システムにインテントを送信します。また、インテントは、単一のターゲット アプリに送信することも、ブロードキャストとして送信することもできます。ブロードキャストした場合は、複数のアプリで順に処理されます。各インテントに対して最適なレシーバを判断するのは Android システムの役割です。この判断は、インテント内で指定されている条件と、他のアプリによって定義されているインテント フィルタに基づいて行われます。詳細については、インテントとインテント フィルタをご覧ください。

関連用語: インテント フィルタブロードキャスト レシーバ

インテント フィルタ
アプリがマニフェスト ファイル内で宣言するフィルタ オブジェクト。そのアプリ内の各コンポーネントが受け入れるインテントのタイプと条件について、Android システムに伝えます。インテント フィルタを通じて、アプリは、処理の対象とするデータ型、インテント アクション、URI 形式などを示すことができます。Android システムがインテントを解決する際は、すべてのアプリのすべてのインテント フィルタを評価して、対象のインテントと条件に最も適合するアプリやアクティビティにインテントを送信します。詳細については、インテントとインテント フィルタをご覧ください。

関連用語: インテントブロードキャスト レシーバ

リソース
コンパイル済みアプリコード内には含まれていないものの、よく使用される参照形式を通じてアプリコードからロードできる非プログラマティック アプリ コンポーネント。Android は、さまざまなリソースタイプをサポートしています。一般的なアプリリソースとしては、UI 文字列、UI レイアウト コンポーネント、グラフィック、各種メディア ファイルなどがあります。アプリはリソースを使用することで、ローカライズや、各種のデバイス プロファイルやデバイス状態を効率的にサポートします。たとえば、サポート対象の地域やデバイスタイプごとに別個のリソースセットを使用したり、画面の向き(横向き、縦向き)ごとに固有のレイアウト リソースを使用したりすることができます。リソースの詳細については、アプリリソースの概要をご覧ください。アプリのリソースは、常にプロジェクトの res/* サブフォルダに格納されます。
サービス
UI を表示せずにバックグラウンドで実行される Service クラスのオブジェクト。音楽の再生やネットワーク アクティビティのモニタリングなど、さまざまな永続アクションを実行します。

関連用語: アクティビティ

Android で使用される URI
Android は、Uniform Resource Identifier(URI)文字列を使用してコンテンツ プロバイダ内のデータ(連絡先リストなど)やインテント内のアクション(ブラウザでウェブページを開くなど)をリクエストします。URI のスキームと書式は用途ごとに異なり、各アプリは任意の方法でそのアプリ用の URI スキーム / 文字列を処理できます。一部の URI スキームは、システム コンポーネントによって予約されています。たとえば、コンテンツ プロバイダのデータをリクエストする場合は、content:// を使用する必要があります。また、インテントにおいて、http:// スキームを使用した URI はブラウザによって処理されます。

ビルド

adb
Android Debug Bridge。SDK に含まれているデバッグ用のコマンドライン アプリです。デバイスのブラウジングや、デバイスへのツールのコピー、デバッグ用のポートの転送を行うツールが用意されています。Android Studio 内で開発を行っている場合は、adb を開発環境に統合できます。書式なしテキストでは「adb」はすべて小文字で書き、特にコマンドのことを指す場合は adb のように書きます。詳しくは、fastboot と adb があることを確認するをご覧ください。
Android プロジェクト
Android Gerrit ホストの Git リポジトリ。Git の仕組みについての詳細は、Git Source Editor をご覧ください。

関連用語: Git リポジトリ

ビルドのフィンガープリント
各ビルドに発行されるメーカー情報を含む、人が読める形式の一意の文字列です。詳しくは、OTA パッケージを構築するをご覧ください。
Git ブランチ - 正規
android-11.0.0_r1cs.android.com/android/platform/superproject/+/android-11.0.0_r1)など、各 Git リポジトリの個々のバージョン。詳しくは、Git のブランチ機能 - ブランチとはをご覧ください。
Git ブランチ - ローカル
repo start branch-name . コマンドから始まる、コード変更を加えるための現在の Repo クライアント内の一時的なブランチ。これはアクティブな開発ラインです。ブランチにおける最新のコミットのことを、そのブランチの先端と言います。
Git リポジトリ
プロジェクトと呼ばれることもあります。frameworks/baseplatform/packages/apps/Car/Media など、デバイスの特定のコンポーネントや種類を表すコードベースの一部です。

関連用語: Android プロジェクト

マニフェスト ファイル
ブランチごとの Git リポジトリの分類(Git のリビジョン)を記述する XML ファイル。この Git のリビジョンで、該当するリポジトリと、ファイル システムでのそのレイアウトをチェックアウトします。一般に default.xml という名前のこの XML ファイルは Repo ブランチに関連付けられ、ここに記述された Git リポジトリと Git ブランチが、Repo ブランチを初期化して同期する際にチェックアウトされます。プロダクト(Android Automotive OS など)をビルドするために Repo ツールが Repo クライアント チェックアウトにフェッチする必要がある各種 Git リポジトリを定義するファイルです。すべてのマニフェストについては、android.googlesource.com/platform/manifest/+refs をご覧ください。Android プラットフォーム(AOSP)ファイルに引き出すマニフェスト ファイルに含まれるデフォルトのマニフェストについては、android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml をご覧ください。記述するアプリ情報については、アプリ マニフェストの概要をご覧ください。プラットフォーム開発については、Repo マニフェスト形式をご覧ください。
無線(OTA)アップデート
実際に利用中の Android デバイスで、システムやアプリ ソフトウェア、タイムゾーン ルールの無線(OTA)アップデートを受信し、インストールすることができます。詳しくは、OTA アップデートをご覧ください。
Repo ブランチ
repo init コマンドと repo sync コマンドでダウンロードされた、android11-gsiaosp-android-games-sdk などの Android コードベースのバージョン(ビルド)を表すマニフェスト ファイルに収集された Git リポジトリのコレクション。すべてのマニフェスト ファイルのリンクについては、マニフェスト ファイルの説明をご覧ください。ビルドを検索するには、Android ソースコード検索をご利用ください。
uprev
uprev は一般に、大規模なプロジェクトを構成するサブプロジェクトを新しいバージョンに更新します。 uprev は、リビジョン レベルを次のバージョンまたは最新のバージョンに変更します。HIDL パッケージの場合、パッケージ レベルの下位互換性のある拡張を維持するため、マイナー バージョンの uprev が、名前とメジャー バージョンを古いパッケージと同じ状態にしたまま、新しいパッケージを上位のマイナー バージョンに更新します。ブートローダーの構成の場合は、uprev によりブートヘッダー バージョンのサポートが最新バージョンに更新されます。

プラットフォーム

Android ランタイム(ART)と Dalvik
Android ランタイム(ART)とは、Android 上のアプリや一部のシステム サービスが使用する管理対象ランタイムのことを指します。ART は、Android 5.0(API レベル 21)以降を搭載しているデバイスのデフォルト ランタイムです。ART とその前身である Dalvik は、元々 Android オープンソース プロジェクト専用として作成されました。ART はランタイムとして、Dalvik Executable 形式と Dex バイトコード仕様を実行します。ART と Dalvik は、どちらも Dex バイトコードを実行する相互に互換性のあるランタイムであり、Dalvik 用に開発されたアプリは、ART で実行した場合でも正常に動作します。
DEX(.dex)ファイル
コンパイル済みの Android アプリ コードファイル。Android プログラムは、Dalvik Executable(DEX)ファイル(拡張子は .dex )にコンパイルされた後、デバイス上で単一の APK ファイルに圧縮されます。DEX ファイルは、Java プログラミング言語で記述されたコンパイル済みアプリを自動変換することで作成されます。