引言
隨著項(xiàng)目中動(dòng)態(tài)鏈接庫越來越多,我們也遇到了很多奇怪的問題,比如只在某一種 OS 上會(huì)出現(xiàn)的 java.lang.UnsatisfiedLinkError
,但是明明我們動(dòng)態(tài)庫名稱沒錯(cuò),ABI 也沒錯(cuò),方法也能對(duì)應(yīng)的上,而且還只出現(xiàn)在某一些機(jī)型上,搞的我們百思不得其解。為了找到出現(xiàn)千奇百怪問題的原因,和能夠提供一個(gè)方式來解決一些比較奇怪的動(dòng)態(tài)庫加載的問題,我發(fā)現(xiàn)了解一下 so 的加載流程是非常有必要的了,便于我們發(fā)現(xiàn)問題和解決問題,這就是本文的由來。
要想了解動(dòng)態(tài)鏈接庫是如何加載的,首先是查看動(dòng)態(tài)鏈接庫是怎么加載的,從我們?nèi)粘U{(diào)用的 System.loadLibrary
開始。
為了書寫方便,后文中會(huì)用“so”來簡(jiǎn)單替代“動(dòng)態(tài)鏈接庫”概念。
1、動(dòng)態(tài)鏈接庫的加載流程
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26