APP開發(fā)公司淺析Android系統(tǒng)的ABI管理,Android系統(tǒng)支持不同的Android設(shè)備使用不同的CPU,CPU與指令集的每種組合都有其自己的應(yīng)用二進制界面(或ABI)。ABI可以非常精確地定義應(yīng)用的機器代碼在運行時如何與系統(tǒng)交互。開發(fā)者必須為應(yīng)用要使用的每個CPU架構(gòu)指定ABI。
典型的ABI包含以下信息。機器代碼應(yīng)使用的CPU指令集。運行時內(nèi)存存儲和加載的字節(jié)順序。可執(zhí)行二進制文件(例如程序和共享庫)的格式,以及它們支持的內(nèi)容類型。用于解析內(nèi)容與系統(tǒng)之間數(shù)據(jù)的各種約定。這些約定包括對齊限制,以及系統(tǒng)如何使用堆棧和在調(diào)用方法時注冊。運行時可用于機器代碼的方法符號列表——通常來自非常具體的庫集。
Android系統(tǒng)的軟件包管理器預(yù)期在APK中符合以下模式的文件路徑上查找NDK生成的庫。Android系統(tǒng)在運行時知道它支持哪些ABI,因為版本特定的系統(tǒng)屬性會指示。設(shè)備的主要ABI,與系統(tǒng)映像本身使用的機器代碼對應(yīng)。可選的輔助ABI,與系統(tǒng)映像支持的另一個ABI對應(yīng)。此機制確保系統(tǒng)在安裝時從軟件包提取最佳機器代碼。深圳APP開發(fā)公司本文關(guān)于“APP開發(fā)公司淺析Android系統(tǒng)的ABI管理”的知識就介紹分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。