引言

隨著項(xiàng)目中動(dòng)態(tài)鏈接庫(kù)越來(lái)越多,我們也遇到了很多奇怪的問(wèn)題,比如只在某一種 OS 上會(huì)出現(xiàn)的 java.lang.UnsatisfiedLinkError,但是明明我們動(dòng)態(tài)庫(kù)名稱(chēng)沒(méi)錯(cuò),ABI 也沒(méi)錯(cuò),方法也能對(duì)應(yīng)的上,而且還只出現(xiàn)在某一些機(jī)型上,搞的我們百思不得其解。為了找到出現(xiàn)千奇百怪問(wèn)題的原因,和能夠提供一個(gè)方式來(lái)解決一些比較奇怪的動(dòng)態(tài)庫(kù)加載的問(wèn)題,我發(fā)現(xiàn)了解一下 so 的加載流程是非常有必要的了,便于我們發(fā)現(xiàn)問(wèn)題和解決問(wèn)題,這就是本文的由來(lái)。

要想了解動(dòng)態(tài)鏈接庫(kù)是如何加載的,首先是查看動(dòng)態(tài)鏈接庫(kù)是怎么加載的,從我們?nèi)粘U{(diào)用的 System.loadLibrary 開(kāi)始。

為了書(shū)寫(xiě)方便,后文中會(huì)用“so”來(lái)簡(jiǎn)單替代“動(dòng)態(tài)鏈接庫(kù)”概念。

1、動(dòng)態(tài)鏈接庫(kù)的加載流程

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式