自 2025 年 3 月 27 日起,我們建議您使用 android-latest-release
而非 aosp-main
建構及貢獻 AOSP。詳情請參閱「Android 開放原始碼計畫變更」。
消毒殺菌劑
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
清理器是一組動態分析工具,可透過編譯器插入的額外檢測功能,在執行階段找出程式中的錯誤。包括偵測記憶體安全性問題。Android 支援並強烈建議使用下列清理工具:
Hardware-assisted AddressSanitizer (HWASan)
HWASan 是主要的清理工具,可偵測記憶體安全性問題。這項功能需要 ARM64,且可偵測:
- 堆疊和堆積緩衝區溢位或反向溢位
- 釋放後的堆積使用情況
- 範圍後的堆疊使用情形
- 傳回後堆疊的使用情況
- 重複釋放或錯誤釋放
Address Sanitizer (ASan)
ASan 是一款與 HWASan 相似的工具。這項功能適用於更多平台,但不支援 Android。
KernelAddress Sanitizer (KASan)
KASan 是上述使用者空間工具的核心對應項目。它共用相同的編譯器實作項目。KASan 和 ASan/HWASan 是互補工具,前者適用於核心,後者適用於使用者空間。建議您同時啟用這兩項功能,以減少建構設定數量和測試矩陣。
UndefinedBehavior 消毒器 (UBSan)
UBSan 會執行編譯時間檢測作業,檢查各種未定義的行為 (非記憶體安全性)。這包括帶正負號和不帶正負號的整數溢位檢查 (IntSan)、靜態大小陣列的邊界檢查 (BoundsSan),以及許多其他類型的未定義行為。在正式版中啟用 IntSan 和 BoundsSan 也是因應安全性問題的有效措施。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-03-26 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-03-26 (世界標準時間)。"],[],[]]