Android问题:java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法
java.lang.UnsatisfiedLinkError: No implementation found for異常解決方法
一天內遇到兩次這個錯誤,被折磨一整天,關鍵是報錯的原因還不一樣,網上沒有找到相關的解決方案,在此記錄一下,分享給遇到同樣錯誤的同胞。
報錯的原因
報這個錯的原因猜測是因為沒有找到so庫,有時候我們再導入jar包的時候,可能還需要導入對應的so庫。那么報這個錯原因會有兩個。
1. SO庫沒有導入
一般jar包的位置是放置到libs下,so文件放在app\src\main\jniLibs目錄下,如果沒有jniLibs則自行創建。其實so文件也是可以放在libs目錄下的,不過要再對應model下build.gradle中加入以下代碼:
sourceSets {main {jniLibs.srcDirs = ['libs']}}如果你是將so文件放在jniLibs目錄下了,那么則必須刪除以上代碼,否則還是會找不到so文件。
還有一種情況,這個是最騷的,那就是你以上步驟都是對的,但是還是找不到so文件,那么恭喜你,這也許不是你的錯……
都是他的錯——Android Studio緩存的錯,既然知道是緩存的錯,那就簡單了,把緩存刪了就OK了
第一步:關閉AS
第二步:打開項目所在的目錄將項目下的.gradle、.idea、gradle三個文件刪了
第三步:將所需要的的jar包和so庫都直接在文件中重新加入一遍。
第四步:啟動AS,啟動項目,如果出現一個彈窗提示,不要慌,這是因為把gradle給刪了,提示你是否重新創建,點OK就行,別點cancle,否則后面需要你自己創建了,我就幫不到你了。
第五步:沒了。
2. so文件沒有加載
除了上面的一種情況外,還會出現一種情況,就是因為so庫沒有初始化。一些jar包只提供了對應so文件,但內部并沒有初始化,需要自己初始化o((⊙﹏⊙))o。看來我還是太年輕了。那么怎么解決呢,直接上代碼:
Application.class
嗯,沒了,不用擔心,這次真的完結了。
以上就是我遇到的,如果沒能還是沒能解決你的問題,那沒辦法了╮(╯▽╰)╭。
新增:
還有一種可能,框架下的文件不統一,比如我的jniLibs文件下,只有一個armeabi-v7a,那么他支持在這個框架下的系統使用,如果你還用到了armeabi或arm64-v8a等多個框架,那么你最好保證所有支持的框架下的so庫齊全,如果沒有,則粘貼一個其他框架下的包。
總結
以上是生活随笔為你收集整理的Android问题:java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python opencv将图片转为灰度
- 下一篇: MOS 管 场效应管