Android7.x找不到libsqlite.so 問題

問題:

最近公司新項目,集成融雲IM時出現一問題,在低版本手機上連接融雲服務器成功,但是在小米6手機上一直不顯示回調,最後調試結果爲:

java.lang.UnsatisfiedLinkError: dlopen failed: library "libsqlite.so" not found

最後從網上搜索結果顯示,由於Android7.x執行更嚴格的安全檢查,禁止使用系統目錄的內容,一般某些聊天的SDK都依賴於libsqlite.so(環信、融雲),不過由於這個包從來沒有變化,使用的是系統默認提供的(/system/lib/)。在Android 6.x及以下的平臺可以運行。所以如果希望在7.x以上版本,需要把系統目錄的libsqlite.so拷貝出來,也放在自己app對應指令目錄下。
以下列出兩種解決方案:

解決方案:

第一種:

直接修改targetSdkVersion 小於24即可,關於targetSdkVersion 問題,這裏要說明一下,如果你安裝的手機版本低於targetSdkVersion ,那麼運行的是你手機版本效果,如果你手機版本高於targetSdkVersion ,那麼運行的就是targetSdkVersion 版本,所以修改targetSdkVersion 肯定是可以解決問題的。

第二種:

既然沒有libsqlite.so文件找不到,那麼我們添加一份即可,在對應的CPU類型下加載不同的so文件。libsqlite.so附件

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