DEX檔案是Android系統中的一種執行檔。
DEX檔案是Android平台上的原始碼檔案(如Java、Kotlin)經過編譯、最佳化後生成的位元組碼檔案。這種檔案格式是對傳統Class檔案的再處理,目的是將其轉換為Dalvik虛擬機(DVM)能夠識別的形式。DEX檔案包含了應用程式的全部操作指令以及運行時數據,是Android套用的核心部分。在套用安裝或運行時,Dalvik虛擬機會載入並執行這些DEX檔案。
為了最佳化套用性能,Android系統在套用啟動時會進行DexOpt最佳化過程,該過程會生成一個ODEX檔案,即Optimised Dex,執行ODEX的效率比直接執行DEX檔案的效率要高。然而,早期的Android版本中,由於空間限制(如Android 2.2和2.3的緩衝區只有5MB),超出緩衝區大小可能會導致dexopt崩潰,從而影回響用的安裝和使用。
此外,由於DEX檔案格式的限制,一個DEX檔案中可以包含的方法數量最多為65536個,欄位和類的數量也有類似的限制。這意味著在開發過程中,如果項目需要的類或方法數量超過這個限制,開發者需要採用多DEX檔案的方式來處理,例如通過外掛程式化開發或分包的方式來避免單一DEX檔案過大。