Android如何引入.so

Android cpu 架構有:
armeabi,armeabi-v7a,arm64-v8a,x86,x86_64等cpu架構

問題1、什麼是.so文件,用來做什麼?

參考帖子:Android SO文件的概念、兼容、適配和可能的錯誤

問題2、針對不同的cpu 架構選擇不同的.so文件

如果項目只包含了 armeabi,那麼在所有Android設備都可以運行;
如果項目只包含了 armeabi-v7a,除armeabi架構的設備外都可以運行;
如果項目只包含了 x86,那麼armeabi架構和armeabi-v7a的Android設備是無法運行的; 如果同時包含了 armeabi, armeabi-v7a和x86,所有設備都可以運行,程序在運行的時候去加載不同平臺對應的so,這是較爲完美的一種解決方案,同時也會導致包變大。

問題3、項目中引入第三方SDK,出現.so找不到的問題

項目中引入2個第三方SDK(A 和 B),SDK A 中包含所有cpu架構的.so,SDK B 中包含只有 armeabi 的.so,這個時候 SDK B 會出現不可用的問題,這是什麼造成的?

ANDROID動態加載 使用SO庫時要注意的一些問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章