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

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Android オープン ソース プロジェクト (AOSP) の基本的な用語については、以下のリストを参照してください。主な用語の定義に関するその他の情報源は次のとおりです。

より包括的なエコシステムのために使用および回避する用語の例については、コーディングを尊重するを参照してください。

アプリ

.apk ファイル
Android アプリケーション パッケージ ファイル。各 Android アプリケーションは、アプリケーションのすべてのコード (.dex ファイル)、リソース、アセット、およびマニフェスト ファイルを含む 1 つのファイルにコンパイルおよびパッケージ化されます。アプリケーション パッケージ ファイルには任意の名前を付けることができますが、 .apk拡張子を使用する必要があります。例: myExampleAppname.apk 。便宜上、アプリケーション パッケージ ファイルは「.apk」と呼ばれることがよくあります。

関連:アプリケーション.

アクション
インテント送信者が実行したいことの説明。アクションは、インテントに割り当てられた文字列値です。アクション文字列は、Android またはサードパーティの開発者が定義できます。たとえば、ウェブ URL の場合は android.intent.action.VIEW、電話を振動させるカスタム アプリケーションの場合は com.example.rumbler.SHAKE_PHONE です。

関連:意図

アクティビティ
Activityクラスから派生した、Java コードをサポートするアプリケーション内の 1 つの画面。ほとんどの場合、アクティビティは、UI イベントを受け取って処理し、複雑なタスクを実行できるフルスクリーン ウィンドウによって視覚的に表されます。アクティビティは通常全画面表示ですが、フローティングまたは透明にすることもできます。
応用
コンポーネントの観点から見ると、Android アプリケーションは 1 つ以上のアクティビティ、サービス、リスナー、およびインテント レシーバーで構成されます。ソース ファイルの観点から見ると、Android アプリケーションはコード、リソース、アセット、および単一のマニフェストで構成されます。コンパイル時に、これらのファイルはアプリケーション パッケージ ファイル (.apk) と呼ばれる 1 つのファイルにパッケージ化されます。

関連: .apk ,アクティビティ

放送受信機
単一のターゲット アプリケーション/アクティビティに送信されるのではなく、ブロードキャストされるインテントをリッスンするアプリケーション クラス。システムはブロードキャスト インテントを、対象となるすべてのブロードキャスト レシーバに配信します。ブロードキャスト レシーバは、インテントを順番に処理します。

関連:インテントインテント フィルター

コンテンツ プロバイダー
アプリケーションのデータを他のアプリケーションに安全に公開するために使用できるデータ抽象化レイヤー。コンテンツ プロバイダーはContentProviderクラスに基づいて構築され、特定の形式のコンテンツ クエリ文字列を処理して、特定の形式でデータを返します。詳細については、コンテンツ プロバイダーのトピックを参照してください。

関連: Android での URI の使用法

ダイアログ
軽量フォームとして機能するフローティング ウィンドウ。ダイアログはボタン コントロールのみを持つことができ、単純なアクション (ボタンの選択など) を実行し、おそらく値を返すことを目的としています。ダイアログは、履歴スタックに保持したり、複雑なレイアウトを含めたり、複雑なアクションを実行したりすることを意図したものではありません。独自のダイアログ レイアウトを定義することもできますが、Android にはオプションのボタンを備えたデフォルトのシンプルなダイアログが用意されています。ダイアログの基本クラスはDialogです。

関連:アクティビティ.

意図
他のアプリケーション/アクティビティを非同期で起動または通信するために使用できるメッセージ オブジェクト。 Intent オブジェクトはIntentのインスタンスです。これには、指定できるいくつかの基準フィールドが含まれており、インテントを受信するアプリケーション/アクティビティと、インテントを処理するときに受信者が行うことを決定します。利用可能な基準には、目的のアクション、カテゴリ、データ文字列、データの MIME タイプ、処理クラスなどがあります。アプリケーションは、インテントを別のアプリケーション/アクティビティに直接送信するのではなく、Android システムに送信します。アプリケーションは、インテントを単一のターゲット アプリケーションに送信することも、複数のアプリケーションで順番に処理できるブロードキャストとして送信することもできます。 Android システムは、インテントで提供された基準と、他のアプリケーションによって定義されたインテント フィルターに基づいて、各インテントに最適な受信機を解決する責任があります。詳細については、インテントとインテント フィルタを参照してください。

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

インテント フィルタ
アプリケーションがマニフェスト ファイルで宣言するフィルター オブジェクトで、各コンポーネントが受け入れようとしているインテントの種類と基準をシステムに通知します。アプリケーションは、インテント フィルターを介して、特定のデータ型、インテント アクション、URI 形式などに関心を示すことができます。インテントを解決するとき、システムはすべてのアプリケーションで使用可能なすべてのインテント フィルターを評価し、インテントと基準に最も一致するアプリケーション/アクティビティにインテントを渡します。詳細については、インテントとインテント フィルタを参照してください。

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

資力
コンパイルされたアプリケーション コードの外部にある非プログラム アプリケーション コンポーネントですが、既知の参照形式を使用してアプリケーション コードからロードできます。 Android はさまざまな種類のリソースをサポートしていますが、典型的なアプリケーションのリソースは、UI 文字列、UI レイアウト コンポーネント、グラフィックまたはその他のメディア ファイルなどで構成されます。アプリケーションはリソースを使用して、ローカリゼーションとさまざまなデバイスのプロファイルと状態を効率的にサポートします。たとえば、アプリケーションには、サポートされているローカル タイプまたはデバイス タイプごとに個別のリソース セットが含まれ、現在の画面の向き (横または縦) に固有のレイアウト リソースを含めることができます。リソースの詳細については、「リソースとアセット」を参照してください。アプリケーションのリソースは、常にプロジェクトのres/*サブフォルダーに保存されます。
サービス
バックグラウンドで (UI の存在なしで) 実行され、音楽の再生やネットワーク アクティビティの監視など、さまざまな永続的なアクションを実行するクラスServiceのオブジェクト。

関連:活動

Android の URI
Android は、URI (Uniform Resource Identifier) 文字列を、コンテンツ プロバイダーでのデータの要求 (連絡先のリストの取得など) およびインテントでのアクションの要求 (ブラウザーで Web ページを開くなど) の基礎として使用します。 URI スキームと形式は用途に応じて特化されており、アプリケーションは特定の URI スキームと文字列を任意の方法で処理できます。一部の URI スキームは、システム コンポーネントによって予約されています。たとえば、コンテンツ プロバイダーからのデータのリクエストでは、 content://を使用する必要があります。 Intent では、 http://スキームを使用する URI はブラウザーによって処理されます。

建てる

adb
SDK に含まれるコマンドライン デバッグ アプリケーションである Android Debug Bridge。デバイスを参照し、デバイスにツールをコピーし、デバッグ用にポートを転送するためのツールを提供します。 Android Studio で開発している場合、adb は開発環境に統合されています。詳細については、 Android Debug Bridgeを参照してください。
Android プロジェクト
Android Gerrit ホスト上の Git リポジトリ。詳細については、ソース管理ツール > Gerritを参照してください。
フィンガープリントの構築
ビルド フィンガープリントは、各ビルドに発行された製造元情報を含む一意の人間が読み取れる文字列です。詳細については、ビルド フィンガープリントについてを参照してください。
ギット
歴史的に単一の Git リポジトリで動作していた Android で使用されるソース管理ツール。複数の Git リポジトリのRepoと組み合わせて使用​​されます。詳細については、ソース管理ツール > Gitを参照してください。
Git ブランチ - 標準
cs.android.com/android/platform/superproject/+/android-11.0.0_r1 にあるandroid-11.0.0_r1など、各 Git リポジトリの個別のバージョン。詳細については、「 Git ブランチ - ブランチの概要」を参照してください。
Git ブランチ - ローカル
repo start branch-name .指図。アクティブな開発ライン。ブランチの最新のコミットは、そのブランチの先端と呼ばれます。
Git リポジトリ
プロジェクトと呼ばれることもあります。これは、 frameworks/baseplatform/packages/apps/Car/Mediaなど、特定のコンポーネントまたはデバイスのタイプを表すコードベースの一部です。
マニフェスト ファイル
ブランチごとの Git リポジトリのグループ化、それらのリポジトリをチェックアウトする Git リビジョン、およびファイルシステム上のそれらのレイアウトを記述した XML ファイル。通常はdefault.xmlという名前のこの XML ファイルは、Repo ブランチに関連付けられており、Repo ブランチを初期化して同期するときにチェックアウトされる Git リポジトリと Git ブランチが記述されています。このファイルは、Repo ツールが製品 (Android Automotive OS など) を構築するために Repo クライアント チェックアウトにフェッチする必要があるさまざまな Git リポジトリを定義します。 android.googlesource.com/platform/manifest/+refsですべてのマニフェストを参照してください。 android.googlesource.com/platform/manifest/+/refs/heads/master/default.xmlで Android プラットフォーム (AOSP) ファイルを取得するには、 AndroidManifestファイルに含まれるデフォルトのマニフェストを参照してください。アプリ情報についてはAndroidManifest.xml ファイルを、プラットフォーム開発についてはマニフェスト形式のリポジトリを参照してください。
無線 (OTA) アップデート
現場の Android デバイスは、システム、アプリケーション ソフトウェア、およびタイム ゾーン ルールの無線 (OTA) アップデートを受信して​​インストールできます。詳細については、 OTA アップデートを参照してください。
レポ
複数の Git リポジトリでの操作を容易にする Git のラッパー。多くの Git リポジトリを単一のチェックアウトまたはコードベースとして集約および管理します。詳細については、ソース管理ツール > リポジトリを参照してください。
レポ支店
repo initおよびrepo syncコマンドを介してダウンロードされたandroid11-gsiaosp-android-games-sdkなどの Android コードベースのバージョン (ビルド) を表すAndroidManifestファイルにキャプチャされた Git リポジトリのコレクション。すべてのマニフェスト ファイルへのリンクについては、マニフェスト ファイルの説明を参照し、https://cs.android.com/ を使用してそれらのビルドを検索してください。
アップレブ
通常、uprev は、より大きなプロジェクトの構成サブプロジェクトを新しいバージョンに更新します。 uprev は、リビジョン レベルを次のインクリメント バージョンまたは最新の利用可能なバージョンに変更します。 HIDL パッケージの場合、パッケージ レベルの下位互換性のある拡張性を維持するために、マイナー バージョンの uprev は、古いパッケージと同じ名前とメジャー バージョンを維持しながら、新しいパッケージを上位のマイナー バージョンに更新します。ブートローダー構成の場合、uprev はブート ヘッダー バージョンのサポートを最新バージョンに更新します。

グラフィック

キャンバス
Bitmap またはSurfaceオブジェクトに対する実際のビットの合成を処理する描画サーフェス。ビットマップ、線、円、四角形、テキストなどの標準的なコンピューター描画用のメソッドがあり、ビットマップまたはサーフェスにバインドされています。キャンバスは、画面上に 2D オブジェクトを描画する最も簡単で簡単な方法です。基本クラスはCanvasです。

関連: DrawableOpenGL ESSurface

ドローアブル
背景、タイトル、または画面の他の部分として使用できるコンパイル済みのビジュアル リソース。ドローアブルは通常、たとえば背景画像として別の UI 要素に読み込まれます。ドローアブルはイベントを受け取ることはできませんが、アニメーション オブジェクトや画像ライブラリなどのサブクラスを有効にするために、「状態」やスケジューリングなどの他のさまざまなプロパティを割り当てます。多くのドローアブル オブジェクトは、ドローアブル リソース ファイル (画像を記述する xml ファイルまたはビットマップ ファイル) から読み込まれます。 Drawable リソースはandroid.graphics.drawableのサブクラスにコンパイルされます。ドローアブルやその他のリソースの詳細については、 Resourcesを参照してください。

関連:リソース,キャンバス

レイアウト リソース
アクティビティ画面のレイアウトを記述した XML ファイル。

関連:リソース

9 パッチ / 9 パッチ / 9 パッチ イメージ
デバイス上の背景やその他の画像に使用できるサイズ変更可能なビットマップ リソース。詳細については、 9 パッチの伸縮可能な画像を参照してください。

関連:リソース.

OpenGLES
Android には、ハードウェア アクセラレーションによる 3D レンダリング用の OpenGL ES ライブラリが用意されています。 2D レンダリングの場合は、 Canvas がよりシンプルなオプションです。」OpenGL ES は、使いやすさのためにAndroid Native Development Kit (NDK)で利用できますandroid.openglおよびjavax.microedition.khronos.openglesパッケージは、OpenGL ES 機能を公開します。

関連:キャンバス,サーフェス

水面
画面に合成されるメモリ ブロックを表すSurface型のオブジェクト。 Surface は、描画用の Canvas オブジェクトを保持し、レイヤーを描画してサーフェスのサイズを変更するためのさまざまなヘルパー メソッドを提供します。このクラスを直接使用しないでください。代わりにSurfaceViewを使用してください。

関連:キャンバス

サーフェスビュー
描画のために Surface をラップし、そのサイズと形式を動的に指定するメソッドを公開する View オブジェクト。 SurfaceView は、リソースを集中的に使用する操作 (ゲームやカメラのプレビューなど) のために UI スレッドとは独立して描画する方法を提供しますが、結果として余分なメモリを使用します。 SurfaceView は Canvas と OpenGL ES グラフィックスの両方をサポートしています。基本クラスはSurfaceViewです。

関連:表面

テーマ
さまざまなデフォルトの表示設定を定義するためにまとめられた一連のプロパティ (テキスト サイズ、背景色など)。 Android には、 R.style (「Theme_」で始まる) にリストされているいくつかの標準テーマが用意されています。
意見
画面上の長方形の領域に描画し、クリック、キーストローク、およびその他の対話イベントを処理するオブジェクト。ビューは、アクティビティまたはダイアログ画面 (テキスト ボックス、ウィンドウなど) のほとんどのレイアウト コンポーネントの基本クラスです。親オブジェクト ( ViewGroupを参照) から自分自身を描画するための呼び出しを受け取り、親オブジェクトに、必要な場所と大きさ (親によって尊重される場合とされない場合があります) を通知します。詳細については、「 Viewを参照してください。

関連: View Hierarchy , ViewGroup , Widget

階層を表示
アプリの各コンポーネントのユーザー インターフェイスを定義する View オブジェクトと ViewGroup オブジェクトの配置。階層は、1 つ以上の子ビューまたはビュー グループを含むビュー グループで構成されます。 Android SDK で提供されるHierarchy Viewerを使用して、デバッグと最適化のためにビュー階層の視覚的表現を取得できます。

関連: ViewViewGroup

ビューグループ
一連の子ビューをグループ化するコンテナ オブジェクト。ビュー グループは、子ビューを配置する場所とその大きさを決定し、必要に応じてそれぞれを呼び出して自分自身を描画します。一部のビュー グループは非表示でレイアウト専用ですが、他のビュー グループには固有の UI (スクロール リスト ボックスなど) があります。ビュー グループはすべてwidgetパッケージに含まれていますが、 ViewGroupを拡張しています。

関連:表示表示階層

ウィジェット
フォーム要素やその他の UI コンポーネント (テキスト ボックスやポップアップ メニューなど) をレンダリングする、完全に実装された View サブクラスのセットの 1 つ。ウィジェットは完全に実装されているため、それ自体の測定と描画、および画面イベントへの応答を処理します。ウィジェットはすべてandroid.widgetパッケージに含まれています。
Android アプリケーションで、ルック アンド フィール (タイトル バーのテキスト、メニューの位置と内容など) などの汎用ウィンドウの要素を指定する抽象クラスWindowから派生したオブジェクト。ダイアログとアクティビティは、このクラスの実装を使用してウィンドウをレンダリングします。このクラスを実装したり、アプリケーションでウィンドウを使用したりする必要はありません。

プラットホーム

Android ランタイム (ART) と Dalvik
Android ランタイム (ART) は、Android のアプリケーションと一部のシステム サービスで使用されるマネージド ランタイムです。 Android ランタイム (ART) は、Android 5.0 (API レベル 21) 以降を実行するデバイスのデフォルトのランタイムです。 ART とその前身である Dalvik は、もともと Android オープン ソース プロジェクト専用に作成されました。ランタイムとしての ART は、Dalvik Executable 形式と Dex バイトコード仕様を実行します。 ART と Dalvik は Dex バイトコードを実行する互換性のあるランタイムであるため、Dalvik 用に開発されたアプリは ART で実行するときに動作するはずです。
コードライン
コードラインには、ソフトウェア製品のリリースが含まれています。これは、1 つまたは複数のリポジトリからの 1 つまたは複数のブランチで構成されており、そのすべてが一度にアクティブに開発されることがよくあります。コードラインは、リリースの集約ポイントおよびターゲットです。コードラインの詳細については、 Android ソフトウェア管理を参照してください。
.dex ファイル
コンパイルされた Android アプリケーション コード ファイル。

Android プログラムは .dex (Dalvik Executable) ファイルにコンパイルされ、デバイス上で単一の .apk ファイルに圧縮されます。 .dex ファイルは、Java プログラミング言語で記述されたコンパイル済みアプリケーションを自動的に翻訳することによって作成できます。

テスト

アーティファクト
アーティファクトは、ローカルのトラブルシューティングを可能にするビルド関連のログです。これらのログは、変更リストを表示するときにGerritから直接アクセスできます。 Presubmit Statusまで下にスクロールし、赤いBuildリンクをクリックして、関連するbuild_error.logファイルを表示またはダウンロードします。これらの成果物は、 ci.android.com/にある中央の Android 継続的インテグレーション サーバーから、ターゲットとビルドの [ダウンロード] (下向き矢印) アイコンをクリックして取得することもできます。アーティファクトを見つける方法の詳細については、 Android 継続的インテグレーションを参照してください。
CDD
Android 互換性定義ドキュメント (CDD) には、デバイスが Android の最新バージョンと互換性を持つために満たす必要がある要件が列挙されています。 Android と互換性があると見なされるには、デバイス実装は、参照により組み込まれるドキュメントを含め、この互換性定義に示されている要件を満たさなければなりません。 CDD の詳細については、 Android 互換性定義ドキュメントを参照してください。
CTS
互換性テスト スイート (CTS) は、API の正確性と CDD に記載されている仕様を確認するためのテスト スイートです。 AOSP内のソースとして、およびバイナリとしてダウンロードできます。詳細については、「互換性テスト スイート」を参照してください。
CTS 検証者
Compatibility Test Suite Verifier (CTS Verifier) は、CTS を補足するものです。 CTS Verifier は、固定デバイスでは手動入力なしではテストできない API および機能 (オーディオ品質、加速度計など) のテストを提供します。詳細については、 CTS 検証ツールの使用を参照してください。
デバッグ
デバッグでは、機能またはそのテストで、Android プラットフォーム コードのエラーを見つけて修正する必要があります。詳細については、ネイティブ Android プラットフォーム コードのデバッグを参照してください。
GoogleTest (GTest)
GTest は、Google の C++ テストおよびモック フレームワークです。 GTest バイナリは通常、下位レベルの抽象化レイヤーにアクセスするか、さまざまなシステム サービスに対して生の IPC を実行します。このため、Gtest のテスト アプローチは通常、テスト対象のサービスと密接に結び付いています。コードは github.com/google/googletest で、ドキュメントはgoogle.github.io/googletestで見つけてください
計装テスト
計測テストは、 am instrumentコマンドによって起動される特別なテスト実行環境を提供します。この環境では、対象となるアプリケーション プロセスが再起動され、基本的なアプリケーション コンテキストで初期化され、計測スレッドがアプリケーション プロセスの仮想マシン内で開始されます。詳細については、インストルメンテーション テストを参照してください。
ログキャット
Logcat は、デバイスがエラーをスローしたときのスタック トレースや、 Logクラスを使用してアプリから書き込んだメッセージなど、システム メッセージのログをダンプするコマンドライン ツールです。詳しくは、 Logcat コマンドライン ツールを参照してください。
ロギング
Android でのロギングは、 logcatで組み合わせて使用​​される標準が混在しているため、複雑です。使用される主な標準の詳細については、ログについて を参照してください。
マージ競合
同じファイルの 2 つ以上のバージョンを Android ビルド サーバーが自動的にマージできなくなった場合、マージの競合が発生します。通常、競合するすべての更新を解決するには、ファイルを手動で編集する必要があります。
送信前および送信後のテスト
送信前テストは、共通カーネルに障害が持ち込まれるのを防ぐために使用されます。現時点では、結果は公開されていません。

Android postsubmit テストは、新しいパッチが共通のカーネル ブランチにコミットされるときに実行されます。 aosp_kernelをブランチ名の一部として入力すると、カーネル ブランチのリストと結果が表示されます。たとえば、「android-mainline」の結果はこちらで確認できます。
トレードフェッド
Trade Federation (略して Tradefed または TF) テスト ハーネスは、Android デバイスでテストを実行するために設計された継続的なテスト フレームワークです。たとえば、CTS と VTS の実行には Tradefed が使用されます。詳細については、 Trade Federation の概要を参照してください。
VTS
Android ベンダー テスト スイート (VTS) は、Android テスト用の広範な機能を提供し、テスト主導の開発プロセスを促進し、HAL および OS カーネル テストを自動化します。詳細については、ベンダー テスト スイート (VTS) とインフラストラクチャを参照してください。