Android 平台詞彙表

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

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

應用

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

相關:應用程序

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

相關:意圖

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

相關: .apk活動

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

相關:意圖意圖過濾器

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

相關: Android 中的 URI 使用

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

相關:活動

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

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

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

相關:意圖廣播接收器

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

相關:活動

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 分支相關聯,並描述了 Git 存儲庫和在您初始化和同步 Repo 分支時簽出的 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 Format以獲取平台開發信息。
無線 (OTA) 更新
現場的 Android 設備可以接收和安裝系統、應用軟件和時區規則的無線 (OTA) 更新。有關詳細信息,請參閱OTA 更新
回購
一個圍繞 Git 的包裝器,可以更輕鬆地對多個 Git 存儲庫進行操作。它將許多 Git 存儲庫聚合和管理為單一的簽出或代碼庫。有關詳細信息,請參閱源代碼管理工具 > Repo
回購分支
AndroidManifest文件中捕獲的 Git 存儲庫集合,表示 Android 代碼庫的版本(構建),例如android11-gsiaosp-android-games-sdk ,通過repo initrepo sync命令下載。查看清單文件描述以獲取指向所有清單文件的鏈接,並使用 https://cs.android.com/ 搜索它們的構建。
上一頁
通常,uprev 將較大項目的組成子項目更新為較新版本。 uprev 將修訂級別更改為下一個遞增版本或最新可用版本。對於 HIDL 包,為了保持包級向後兼容的可擴展性,次要版本更新將新包更新為更高的次要版本,同時保持與舊包相同的名稱和主要版本。在Bootloader 配置的情況下,uprev 將引導標頭版本支持更新到最新版本。

圖形

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

相關:可繪製對象OpenGL ES表面

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

相關:資源畫布

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

相關:資源

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

相關:資源

OpenGL ES
Android 為硬件加速 3D 渲染提供了 OpenGL ES 庫。對於 2D 渲染, Canvas是更簡單的選擇。” Android 本機開發工具包 (NDK)中提供了 OpenGL ES,以便於使用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 HierarchyViewGroupWidget

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

相關:視圖視圖組

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

相關:視圖視圖層次結構

微件
一組完全實現的視圖子類之一,可呈現表單元素和其他 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文件。您還可以通過單擊目標和構建的下載(向下箭頭)圖標,從位於ci.android.com/的中央 Android 持續集成服務器獲取這些工件。有關如何查找工件的更多信息,請參閱Android 持續集成
客戶盡職調查
Android 兼容性定義文檔 (CDD) 列舉了您的設備要與最新版本的 Android 兼容必須滿足的要求。要被視為與 Android 兼容,設備實現必須滿足此兼容性定義中提出的要求,包括通過引用併入的任何文檔。有關 CDD 的更多信息,請參閱Android 兼容性定義文檔
華僑城
兼容性測試套件 (CTS) 是用於確保 API 正確性和 CDD 中規定的規範的測試套件。它可以作為AOSP中的源代碼提供,也可以作為二進製文件下載。有關詳細信息,請參閱兼容性測試套件
CTS 驗證器
Compatibility Test Suite Verifier (CTS Verifier) 是對 CTS 的補充。 CTS Verifier 為 API 和功能提供測試,這些 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。有關詳細信息,請參閱Trade Federation 概述
VTS
Android 供應商測試套件 (VTS) 為 Android 測試提供了廣泛的功能,促進了測試驅動的開發流程,並自動化了 HAL 和操作系統內核測試。有關詳細信息,請參閱供應商測試套件 (VTS) 和基礎架構