Android 平台術語表

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

有關更包容的生態系統要使用和避免使用的術語示例,請參閱“尊重編碼”

應用

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

相關:應用程序

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

相關:意圖

活動
應用程序中的單個屏幕,帶有支持的 Java 代碼,派生自Activity類。最常見的是,一個 Activity 由一個全屏窗口可見地表示,該窗口可以接收和處理 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 Filters 為每個 Intent 解析最佳可用接收器。有關更多信息,請參閱 意圖和意圖過濾器

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

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

相關:意圖廣播接收器

資源
在已編譯的應用程序代碼外部,但可以使用眾所周知的參考格式從應用程序代碼加載的非編程應用程序組件。 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 分支相關聯,並描述了在您初始化和同步 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 存儲庫聚合和管理為一個單一的檢出或代碼庫。有關詳細信息,請參閱源代碼管理工具 > 存儲庫
回購分支
在代表 Android 代碼庫版本(構建)的AndroidManifest文件中捕獲的 Git 存儲庫集合,例如android11-gsiaosp-android-games-sdk ,通過repo initrepo sync命令下載。有關指向所有清單文件的鏈接,請參閱清單文件說明,並使用 https://cs.android.com/ 搜索它們的構建。

圖形

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

相關: DrawableOpenGL ESSurface

可繪製
可用作背景、標題或屏幕其他部分的已編譯視覺資源。 drawable 通常加載到另一個 UI 元素中,例如作為背景圖像。 drawable 無法接收事件,但會分配各種其他屬性,例如“狀態”和調度,以啟用子類,例如動畫對像或圖像庫。許多可繪製對像是從可繪製資源文件(描述圖像的 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_”開頭)。
看法
在屏幕上繪製矩形區域並處理單擊、擊鍵和其他交互事件的對象。視圖是活動或對話框屏幕(文本框、窗口等)的大多數佈局組件的基類。它接收來自其父對象(參見ViewGroup )的調用以繪製自己,並通知其父對象它想要的位置和大小(父對象可能會或可能不會尊重)。有關更多信息,請參閱View

相關: View HierarchyViewGroupWidget

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

相關:查看ViewGroup以及

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

相關: View , View Hierarchy

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

平台

Android 運行時 (ART) 和 Dalvik
Android 運行時 (ART) 是 Android 上的應用程序和一些系統服務使用的託管運行時。 Android 運行時 (ART) 是運行 Android 5.0(API 級別 21)及更高版本的設備的默認運行時。 ART 及其前身 Dalvik 最初是專門為 Android Open Soure 項目創建的。 ART 作為運行時執行 Dalvik 可執行文件格式和 Dex 字節碼規範。 ART 和 Dalvik 是運行 Dex 字節碼的兼容運行時,因此為 Dalvik 開發的應用程序在與 ART 一起運行時應該可以工作。
代碼行
代碼行包含軟件產品的發布。它由來自一個或多個存儲庫的一個或多個分支組成,所有這些分支通常同時處於活躍開發階段。代碼線是發布的聚合點和目標。有關代碼行的更多信息,請參閱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) 是用於確保 API 正確性和 CDD 中規定的規範的測試套件。它可以作為AOSP 中的源代碼獲得,也可以作為二進製文件下載。有關更多信息,請參閱兼容性測試套件
CTS 驗證器
Compatibility Test Suite Verifier (CTS Verifier) 是對 CTS 的補充。 CTS Verifier 為在沒有手動輸入的情況下無法在固定設備上測試的 API 和功能(例如音頻質量、加速度計等)提供測試。有關更多信息,請參閱使用 CTS 驗證程序
調試
調試需要查找和修復 Android 平台代碼中的錯誤,無論是在功能還是測試中。有關更多信息,請參閱調試原生 Android 平台代碼
測試
GoogleTest 是 Google 的 C++ 測試和模擬框架。尋找在代碼github.com/google/googletest和文檔在google.github.io/googletest
儀表測試
儀器測試提供了一個由am instrument命令啟動的特殊測試執行環境,其中目標應用程序進程重新啟動並使用基本應用程序上下文進行初始化,並在應用程序進程虛擬機內啟動一個儀器線程。有關更多信息,請參閱儀器測試
邏輯貓
Logcat 是一個命令行工具,可轉儲系統消息日誌,包括設備拋出錯誤時的堆棧跟踪以及您使用Log類從應用程序寫入的消息。有關更多信息,請參閱Logcat 命令行工具
日誌記錄
由於在logcat中組合使用的標準混合,在 Android 中登錄很複雜。有關使用的主要標準的詳細信息,請參閱了解日誌記錄
合併衝突
當 Android 構建服務器無法再自動合併同一文件的兩個或多個版本時,就會發生合併衝突。這些通常需要手動編輯文件以解決所有衝突的更新。
原生測試
平台的本機測試通常訪問較低級別的抽象層或針對各種系統服務執行原始 IPC。因此,測試方法通常與被測服務緊密耦合。有關更多信息,請參閱本機測試
Tradefed
Trade Federation(簡稱 Tradefed 或 TF)測試工具是一個持續的測試框架,設計用於在 Android 設備上運行測試。例如, Tradefed 用於運行 CTS 和 VTS。有關更多信息,請參閱貿易聯盟概述
VTS
Android 供應商測試套件 (VTS) 為 Android 測試提供了廣泛的功能,促進了測試驅動的開發過程,並使 HAL 和操作系統內核測試自動化。有關更多信息,請參閱供應商測試套件 (VTS) 和基礎設施