Android 平台詞彙表

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

有關要使用和避免使用的術語示例,請參閱尊重編碼,以實現更具包容性的生態系統。

應用

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

相關:應用程序

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

相關:意圖

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

相關: .apk活動

廣播接收器
一個應用程序類,用於偵聽廣播的 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
建立指紋
構建指紋是一個唯一的、人類可讀的字符串,其中包含發布給每個構建的製造商信息。有關更多信息,請參閱了解構建指紋
吉特
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.googlesource.com/platform/manifest/+/refs/heads/master/default.xml中提取 Android 平台 (AOSP) 文件。應用信息請參見AndroidManifest.xml 文件,平台開發請參見repo Manifest 格式
無線 (OTA) 更新
現場的 Android 設備可以接收和安裝系統、應用軟件和時區規則的無線 (OTA) 更新。有關詳細信息,請參閱OTA 更新
回購
一個圍繞 Git 的包裝器,允許對多個 Git 存儲庫進行更輕鬆的操作。它將許多 Git 存儲庫作為單一的檢出或代碼庫進行聚合和管理。有關更多信息,請參閱源代碼管理工具 > 回購
回購分支
AndroidManifest文件中捕獲的一組 Git 存儲庫,表示 Android 代碼庫的版本(構建),例如android11-gsiaosp-android-games-sdk ,通過repo initrepo sync命令下載。有關所有清單文件的鏈接,請參閱清單文件描述,並使用 https://cs.android.com/ 搜索其構建。
升級版
通常,uprev 會將較大項目的組成子項目更新為較新的版本。 uprev 將修訂級別更改為下一個增加的版本或最新的可用版本。對於 HIDL 包,為了保持包級向後兼容的可擴展性,次要版本升級將新包更新為更高的次要版本,同時保持與舊包相同的名稱和主要版本。在Bootloader 配置的情況下,uprev 將引導頭版本支持更新到最新版本。

圖形

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

相關: DrawableOpenGL ESSurface

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

相關:資源帆布

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

相關:資源

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

相關:資源

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

相關:帆布表面

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

相關:帆布

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

相關:表面

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

相關: View Hierarchy , ViewGroup , Widget

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

相關:視圖視圖組

視圖組
對一組子視圖進行分組的容器對象。視圖組負責決定子視圖的位置和大小,以及在適當的時候調用每個視圖來繪製自己。一些視圖組是不可見的並且僅用於佈局,而另一些則具有固有的 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訪問這些日誌。向下滾動到Presubmit Status並單擊紅色的Build鏈接以查看或下載相關的build_error.log文件。您還可以通過單擊目標和構建的下載(向下箭頭)圖標從中央 Android 持續集成服務器ci.android.com/獲取這些工件。有關如何查找工件的更多信息,請參閱Android 持續集成
客戶盡職調查
Android 兼容性定義文檔 (CDD) 列舉了您的設備必須滿足的要求才能與最新版本的 Android 兼容。要被視為與 Android 兼容,設備實現必須滿足本兼容性定義中提出的要求,包括通過引用併入的任何文檔。有關 CDD 的更多信息,請參閱Android 兼容性定義文檔
中旅
兼容性測試套件 (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` 的結果。
Tradefed
Trade Federation(Tradefed 或簡稱 TF)測試工具是一個持續測試框架,專為在 Android 設備上運行測試而設計。例如,Tradefed 用於運行 CTS 和 VTS。有關更多信息,請參閱貿易聯盟概述
VTS
Android 供應商測試套件 (VTS) 為 Android 測試提供了廣泛的功能,促進了測試驅動的開發過程,並自動化了 HAL 和操作系統內核測試。有關詳細信息,請參閱供應商測試套件 (VTS) 和基礎架構