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 會出現不可用的問題,這是什麼造成的?