Android 平台詞彙表

請參閱下面的列表,了解 Android 開源項目 (AOSP) 的基本術語。以下是關鍵術語定義的其他來源:

有關更具包容性的生態系統使用和避免的術語示例,請參閱編碼

應用

.apk 文件
Android應用程序包文件。每個 Android 應用程序都被編譯並打包在一個文件中,其中包括應用程序的所有代碼(.dex 文件)、資源、資產和清單文件。應用程序包文件可以具有任意名稱,但必須使用.apk擴展名。例如: myExampleAppname.apk 。為了方便起見,應用程序包文件通常被稱為“.apk”。

相關:應用程序

行動
意圖發送者想要完成的事情的描述。操作是分配給意圖的字符串值。操作字符串可以由 Android 或第三方開發人員定義。例如,android.intent.action.VIEW 用於 Web URL,或 com.example.rumbler.SHAKE_PHONE 用於自定義應用程序以振動手機。

相關:意圖

活動
應用程序中的單個屏幕,具有從Activity類派生的支持 Java 代碼。最常見的是,活動明顯地由全屏窗口表示,該窗口可以接收和處理 UI 事件並執行複雜的任務,因為它使用 Window 來呈現其窗口。雖然 Activity 通常是全屏的,但它也可以是浮動的或透明的。
應用
從組件的角度來看,Android 應用程序由一個或多個活動、服務、偵聽器和意圖接收器組成。從源文件的角度來看,Android 應用程序由代碼、資源、資產和單個清單組成。在編譯過程中,這些文件被打包在一個稱為應用程序包文件 (.apk) 的文件中。

相關: .apk活動

廣播接收器
一個應用程序類,用於偵聽廣播的 Intent,而不是發送到單個目標應用程序/活動。系統將廣播 Intent 傳遞給所有感興趣的廣播接收者,廣播接收者按順序處理該 Intent。

相關:意圖意圖過濾器

內容提供商
數據抽象層,可用於安全地將應用程序的數據公開給其他應用程序。內容提供者構建在ContentProvider類之上,它處理特定格式的內容查詢字符串以返回特定格式的數據。有關詳細信息,請參閱內容提供商主題。

相關: Android 中的 URI 使用

對話
充當輕量級形式的浮動窗口。對話框只能包含按鈕控件,旨在執行簡單的操作(例如按鈕選擇)並可能返回一個值。對話框不應該保留在歷史堆棧中、包含複雜的佈局或執行複雜的操作。 Android 為您提供了一個帶有可選按鈕的默認簡單對話框,但您可以定義自己的對話框佈局。對話框的基類是Dialog

相關:活動

意圖
一個消息對象,可用於異步啟動其他應用程序/活動或與其他應用程序/活動進行通信。 Intent 對像是Intent的實例。它包括您可以提供的幾個條件字段,以確定哪些應用程序/活動接收 Intent 以及接收者在處理 Intent 時執行的操作。可用標準包括所需的操作、類別、數據字符串、數據的 MIME 類型、處理類等。應用程序將 Intent 發送到 Android 系統,而不是直接將其發送到另一個應用程序/活動。應用程序可以將 Intent 發送到單個目標應用程序,也可以將其作為廣播發送,而廣播又可以由多個應用程序順序處理。 Android 系統負責根據 Intent 中提供的標準和其他應用程序定義的 Intent 過濾器為每個 Intent 解析最佳可用的接收器。有關更多信息,請參閱意圖和意圖過濾器

相關:意圖過濾器廣播接收器

意圖過濾器
應用程序在其清單文件中聲明的過濾器對象,用於告訴系統其每個組件願意接受什麼類型的 Intent 以及採用什麼標準。通過意圖過濾器,應用程序可以表達對特定數據類型、意圖操作、URI 格式等的興趣。解析 Intent 時,系統會評估所有應用程序中的所有可用 Intent 過濾器,並將 Intent 傳遞到與 Intent 和條件最匹配的應用程序/活動。有關更多信息,請參閱意圖和意圖過濾器

相關:意圖廣播接收器

資源
非編程應用程序組件位於已編譯的應用程序代碼外部,但可以使用眾所周知的參考格式從應用程序代碼加載。 Android 支持多種資源類型,但典型應用程序的資源將由 UI 字符串、UI 佈局組件、圖形或其他媒體文件等組成。應用程序使用資源來有效地支持本地化以及各種設備配置文件和狀態。例如,應用程序將為每種受支持的本地或設備類型包含一組單獨的資源,並且它可能包含特定於當前屏幕方向(橫向或縱向)的佈局資源。有關資源的更多信息,請參閱資源和資產。應用程序的資源始終存儲在項目的res/*子文件夾中。
服務
Service類的對象,在後台運行(沒有任何 UI 存在)以執行各種持久操作,例如播放音樂或監視網絡活動。

相關:活動

Android 中的 URI
Android 使用 URI(統一資源標識符)字符串作為在內容提供程序中請求數據(例如檢索聯繫人列表)和在 Intent 中請求操作(例如在瀏覽器中打開網頁)的基礎。 URI 方案和格式根據使用類型而專門化,並且應用程序可以按照其想要的任何方式處理特定的 URI 方案和字符串。某些 URI 方案由系統組件保留。例如,從內容提供商請求數據必須使用content:// 。在 Intent 中,瀏覽器將處理使用http://方案的 URI。

建造

亞行
Android Debug Bridge,SDK 中包含的命令行調試應用程序。它提供了瀏覽設備、在設備上複製工具以及轉發端口以進行調試的工具。如果您在 Android Studio 中進行開發,adb 會集成到您的開發環境中。有關詳細信息,請參閱Android 調試橋
安卓項目
Android Gerrit 主機上的 Git 存儲庫。有關詳細信息,請參閱源代碼管理工具 > Gerrit
建立指紋
版本指紋是一個唯一的、人類可讀的字符串,其中包含發布給每個版本的製造商信息。有關詳細信息,請參閱了解構建指紋
git
Android 使用的源代碼控制工具,過去在單個 Git 存儲庫上運行。與Repo結合使用以實現多個 Git 存儲庫。請參閱源代碼管理工具 > Git了解更多信息。
Git 分支 - 規範
每個 Git 存儲庫的不同版本,例如android-11.0.0_r1 ,可在cs.android.com/android/platform/superproject/+/android-11.0.0_r1中找到。有關更多信息,請參閱Git 分支 - 簡而言之分支
Git 分支 - 本地
當前 Repo 客戶端中用於進行代碼更改的臨時分支,以repo start branch-name .命令。積極的發展路線。分支上的最新提交稱為該分支的提示。
Git 存儲庫
有時稱為項目,這是代表特定組件或設備類型的代碼庫的一部分,例如frameworks/baseplatform/packages/apps/Car/Media
清單文件
一個 XML 文件,描述每個分支的 Git 存儲庫分組、檢查這些存儲庫的 Git 修訂版本以及它們在文件系統上的佈局。此 XML 文件通常名為default.xml ,與 Repo 分支關聯,並描述在初始化和同步 Repo 分支時檢出的 Git 存儲庫和 Git 分支。該文件定義了 Repo 工具應獲取到 Repo 客戶端結賬以構建產品(例如 Android Automotive OS)的各種 Git 存儲庫。請訪問android.googlesource.com/platform/manifest/+refs查看所有清單。請參閱AndroidManifest文件中包含的默認清單,以提取 Android 平台 (AOSP) 文件,網址為android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml 。有關應用程序信息,請參閱AndroidManifest.xml 文件;有關平台開發,請參閱repo Manifest Format
無線 (OTA) 更新
現場的 Android 設備可以接收並安裝系統、應用程序軟件和時區規則的無線 (OTA) 更新。請參閱OTA 更新了解更多信息。
回購協議
Git 的包裝器,允許更輕鬆地操作多個 Git 存儲庫。它將許多 Git 存儲庫作為單個簽出或代碼庫進行聚合和管理。有關詳細信息,請參閱源代碼管理工具 > 存儲庫
回購分支
AndroidManifest文件中捕獲的 Git 存儲庫集合,表示 Android 代碼庫的版本(構建),例如android11-gsiaosp-android-games-sdk ,通過repo initrepo sync命令下載。請參閱清單文件描述以獲取所有清單文件的鏈接,並使用 https://cs.android.com/ 搜索其構建。
上行
一般來說,uprev 將較大項目的組成子項目更新為較新的版本。升級將修訂級別更改為下一個增量版本或最新可用版本。對於 HIDL 包,為了保持包級別的向後兼容擴展性,次要版本升級會將新包更新為更高的次要版本,同時保持與舊包相同的名稱和主要版本。對於Bootloader 配置,uprev 將引導頭版本支持更新為最新版本。

圖形

帆布
處理實際位與位圖或表面對象的合成的繪圖表面。它具有用於位圖、直線、圓形、矩形、文本等的標準計算機繪圖的方法,並且綁定到位圖或表面。 Canvas 是在屏幕上繪製 2D 對象的最簡單、最容易的方法。基類是Canvas

相關: DrawableOpenGL ESSurface

可繪製的
已編譯的視覺資源,可用作背景、標題或屏幕的其他部分。可繪製對象通常會加載到另一個 UI 元素中,例如作為背景圖像。可繪製對象無法接收事件,但可以分配各種其他屬性(例如“狀態”和調度)以啟用子類(例如動畫對像或圖像庫)。許多可繪製對像是從可繪製資源文件(描述圖像的 xml 或位圖文件)加載的。 Drawable 資源被編譯為android.graphics.drawable的子類。有關可繪製對象和其他資源的更多信息,請參閱資源

相關:資源畫布

佈局資源
描述活動屏幕佈局的 XML 文件。

相關:資源

九片/九片/九片圖像
可調整大小的位圖資源,可用於設備上的背景或其他圖像。有關更多信息,請參閱九塊可拉伸圖像

相關:資源

OpenGL ES
Android 提供了用於硬件加速 3D 渲染的 OpenGL ES 庫。對於 2D 渲染, Canvas是更簡單的選擇。”為了便於使用, Android 本機開發套件 (NDK)中提供了 OpenGL android.opengljavax.microedition.khronos.opengles包公開了 OpenGL ES 功能。

相關:畫布表面

表面
Surface類型的對象,表示合成到屏幕的內存塊。 Surface 包含用於繪圖的 Canvas 對象,並提供各種輔助方法來繪製圖層和調整表面大小。你不應該直接使用這個類;使用SurfaceView代替。

相關:畫布

表面視圖
一個 View 對象,它包裝一個用於繪圖的 Surface,並公開動態指定其大小和格式的方法。 SurfaceView 提供了一種獨立於 UI 線程進行繪製的方法,用於資源密集型操作(例如游戲或相機預覽),但它會因此使用額外的內存。 SurfaceView 支持 Canvas 和 OpenGL ES 圖形。基類是SurfaceView

相關:表面

主題
一組屬性(文本大小、背景顏色等)捆綁在一起以定義各種默認顯示設置。 Android 提供了一些標準主題,在R.style中列出(以“Theme_”開頭)。
看法
繪製到屏幕上的矩形區域並處理單擊、擊鍵和其他交互事件的對象。視圖是活動或對話框屏幕(文本框、窗口等)的大多數佈局組件的基類。它接收來自其父對象(請參閱ViewGroup )的調用以繪製自身,並通知其父對像其想要的位置和大小(父對象可能會或可能不會尊重)。有關詳細信息,請參閱View

相關:視圖層次結構ViewGroup小部件

查看層次結構
View 和 ViewGroup 對象的排列,定義應用程序每個組件的用戶界面。該層次結構由包含一個或多個子視圖或視圖組的視圖組組成。您可以使用 Android SDK 提供的層次結構查看器獲取視圖層次結構的可視化表示,以進行調試和優化。

相關:視圖視圖組

視圖組
將一組子視圖分組的容器對象。視圖組負責決定子視圖的位置以及它們的大小,並在適當的時候調用每個視圖來繪製自身。有些視圖組是不可見的並且僅用於佈局,而其他視圖組則具有固有的 UI(例如,滾動列錶框)。視圖組都在widget包中,但擴展了ViewGroup

相關:視圖視圖層次結構

小部件
一組完全實現的 View 子類之一,用於呈現表單元素和其他 UI 組件,例如文本框或彈出菜單。因為小部件已完全實現,所以它可以處理測量和繪製本身以及響應屏幕事件。小部件都在android.widget包中。
窗戶
在 Android 應用程序中,從抽像類Window派生的對象,它指定通用窗口的元素,例如外觀(標題欄文本、菜單的位置和內容等)。 Dialog 和 Activity 使用此類的實現來呈現窗口。您不需要在應用程序中實現此類或使用窗口。

平台

Android 運行時 (ART) 和 Dalvik
Android 運行時 (ART) 是 Android 上的應用程序和某些系統服務使用的託管運行時。 Android 運行時 (ART) 是運行 Android 5.0(API 級別 21)及更高版本的設備的默認運行時。 ART 及其前身 Dalvik 最初是專門為 Android 開源項目創建的。 ART 作為運行時執行 Dalvik 可執行文件格式和 Dex 字節碼規範。 ART 和 Dalvik 是運行 Dex 字節碼的兼容運行時,因此為 Dalvik 開發的應用程序在與 ART 一起運行時應該可以工作。
代碼線
代碼行包含軟件產品的發布。它由一個或多個存儲庫的一個或多個分支組成,所有這些分支通常同時處於積極開發狀態。代碼線是發布的聚合點和目標。有關代碼線的更多信息,請參閱Android 軟件管理
.dex 文件
編譯好的Android應用程序代碼文件。

Android 程序被編譯為 .dex(Dalvik 可執行文件)文件,這些文件又被壓縮為設備上的單個 .apk 文件。 .dex 文件可以通過自動翻譯用 Java 編程語言編寫的編譯應用程序來創建。

測試

文物
工件是與構建相關的日誌,支持本地故障排除。查看更改列表時,可以直接從Gerrit訪問這些日誌。向下滾動到預提交狀態,然後單擊紅色構建鏈接以查看或下載關聯的build_error.log文件。您還可以通過單擊目標和構建的下載(向下箭頭)圖標,從ci.android.com/上的中央 Android 持續集成服務器獲取這些工件。有關如何查找工件的更多信息,請參閱Android 持續集成
CDD
Android 兼容性定義文檔 (CDD) 列舉了您的設備必須滿足的要求才能與最新版本的 Android 兼容。要被視為與 Android 兼容,設備實現必須滿足本兼容性定義中提出的要求,包括通過引用納入的任何文檔。有關 CDD 的更多信息,請參閱Android 兼容性定義文檔
CTS
兼容性測試套件 (CTS) 是用於確保 API 正確性和 CDD 中規定的規範的測試套件。它可以作為AOSP中的源代碼提供,也可以作為二進製文件下載。有關詳細信息,請參閱兼容性測試套件
CTS驗證器
兼容性測試套件驗證程序(CTS Verifier)是對 CTS 的補充。 CTS Verifier 提供對無法在沒有手動輸入的情況下在固定設備上進行測試的 API 和功能的測試(例如音頻質量、加速度計等)。有關更多信息,請參閱使用 CTS 驗證程序
調試
調試需要查找並修復 Android 平台代碼中的錯誤,無論是功能還是測試中的錯誤。有關更多信息,請參閱調試本機 Android 平台代碼
谷歌測試(GTest)
GTest 是 Google 的 C++ 測試和模擬框架。 GTest 二進製文件通常訪問較低級別的抽象層或針對各種系統服務執行原始 IPC。因此,Gtest 的測試方法通常與正在測試的服務緊密耦合。代碼位於github.com/google/googletest ,文檔位於google.github.io/googletest
儀器儀表測試
插樁測試提供了一個由am instrument命令啟動的特殊測試執行環境,其中目標應用程序進程使用基本應用程序上下文重新啟動並初始化,並且插樁線程在應用程序進程虛擬機內啟動。有關詳細信息,請參閱儀器測試
日誌貓
Logcat 是一個命令行工具,可轉儲系統消息日誌,包括設備引發錯誤時的堆棧跟踪以及您使用Log類從應用程序寫入的消息。有關更多信息,請參閱Logcat 命令行工具
記錄
由於logcat中使用的混合標準,Android 中的日誌記錄非常複雜。有關所使用的主要標準的詳細信息,請參閱了解日誌記錄
合併衝突
當 Android 構建服務器無法再自動合併同一文件的兩個或多個版本時,就會發生合併衝突。這些通常需要手動編輯文件來解決所有衝突的更新。
提交前和提交後測試
提交前測試用於防止將故障引入到通用內核中。目前結果尚未公開。

當新補丁提交到公共內核分支時,會執行Android 提交後測試。通過輸入aosp_kernel作為部分分支名稱,您可以看到具有可用結果的內核分支列表。例如,可以在此處找到“android-mainline”的結果。
貿易聯邦
Trade Federation(簡稱 Tradefed 或 TF)測試工具是一個連續測試框架,專為在 Android 設備上運行測試而設計。例如,Tradefed 用於運行 CTS 和 VTS。有關更多信息,請參閱貿易聯盟概述
虛擬交通系統
Android 供應商測試套件 (VTS) 為 Android 測試提供了廣泛的功能,促進了測試驅動的開發流程,並自動化了 HAL 和操作系統內核測試。有關更多信息,請參閱供應商測試套件 (VTS) 和基礎設施