找不到so的問題,in thread “main“ java.lang.UnsatisfiedLinkError: no xxlibrary in java.library.path
Exception in thread “main” java.lang.UnsatisfiedLinkError: no SecurityAccessRTDlibrary in java.library.path
以上的報錯是因為我在windows平臺,執行了基礎so庫
一般應該直接執行的android平臺,拿個手機或者pad用的,哎呀,大意了!
知識1,
System.out.println(System.getProperty(“java.library.path”))
列印出java.library.path的路徑。表示我的路徑亂七八糟,遂棄。
一步步除錯,到ClassLoader類裡,發現尋找庫的時候檔案會被莫名其妙的拼上一個lib,剛開始以為是路徑沒有配好,後來發現是系統呼叫了一個方法:java.lang.System.mapLibraryName()罪魁禍首。這個方法會在我們們的給定的名字前拼接上”lib”
知識2,
錯誤分析
這個錯誤是so庫載入問題,報錯一般以 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader開頭。一般是程式在執行過程中呼叫System.loadLibrary(“xxxxxxxx”);是無法找到libxxxxxx.so檔案導致的報錯。針對這個錯誤我們可以一邊排查一邊來解決。
問題分析和解決
1.檢視so庫是不是已經在編譯的過程中打包到apk裡。
方法:
找到專案的這個目錄app\build\outputs\apk,然後用壓縮軟體開啟app-debug.apk這個檔案,去libs裡找有沒有報錯的libxxxxxx.so檔案。
解決:
如果有就下一步,沒有就檢查自己是不是把libxxxxxx.so檔案沒有放在正確的
相關文章
- Exception in thread “main” 終極解決方案ExceptionthreadAI
- jmeter報錯“Uncaught exception in thread Thread[AWT-EventQueue-0,6,main]“JMeterExceptionthreadAI
- Sublime text找不到.so檔案
- 找不到 main 方法, 請將 main 方法定義為: public static void main(String[] args)AI
- Exception in thread "main" java.lang.NullPointerException: Cannot invokeExceptionthreadAIJavaNull
- Java報錯:Exception in thread "main" java.lang.UnsupportedClassVersionErrorJavaExceptionthreadAIError
- 請教管理後臺__MENU__.main的問題AI
- Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission deniedUseExceptionthreadAIApacheHadoop
- rt-thread AT元件偶爾當機的問題thread元件
- RT-Thread 元件 FinSH 使用時遇到的問題thread元件
- 安卓so包常見報錯問題安卓
- 解決pycharm問題:module 'pip' has no attribute 'main'PyCharmAI
- Appcrawler 執行報錯 Exception in thread "main" java.lang.NullPointerExceptionAPPExceptionthreadAIJavaNull
- 關於redis配置找不到問題Redis
- lombok編譯遇到“找不到符號的問題”Lombok編譯符號
- Exception in thread “main“ java.lang.NoClassDefFoundError: org/apache/http/conn/socket/LayeredConnecExceptionthreadAIJavaErrorApacheHTTP
- Pycharm中啟動Tensorflow專案找不到libcudart.so.10.1PyCharmDart
- 解決:Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.ExceptionthreadAIJavaElasticsearch
- Exception in thread “main“ java.lang.ArrayStoreException解決方案(記錄一下)ExceptionthreadAIJava
- java.lang.OutOfMemoryError- unable to create new native thread 問題排查JavaErrorthread
- 解決new Thread().Start導致高併發CPU 100%的問題thread
- C# Thread.Sleep 不精準的問題以及解決方案C#thread
- Java Thread的join() 之刨根問底Javathread
- IDEA——錯誤: 找不到或無法載入主類 com.MainIdeaAI
- linux更改原始碼安裝目錄後,找不到.so檔案的解決Linux原始碼
- 記SqlSugar ORM框架之找不到主鍵問題SqlSugarORM框架
- myeclipse執行tomcat報錯Exception in thread "main" java.lang.OutOfMemoryError: PermGen space...EclipseTomcatExceptionthreadAIJavaError
- 製作chm檔案搜尋時總提示找不到主題的問題
- SpringBoot 2.0中SpringWebContext 找不到無法使用的問題解決Spring BootWebContext
- Hive實戰UDF 外部依賴檔案找不到的問題Hive
- 詳解JAVA執行緒問題診斷工具Thread DumpJava執行緒thread
- mydumper執行報錯遇到缺失libssl.so.1.1問題的解決方法
- Eclipse 給 Java 應用建立 Run configuration 時找不到 main type 的錯誤訊息EclipseJavaAI
- 設定java.library.path的值(Mac/Linux/Windows)JavaMacLinuxWindows
- python 3.6 lxml標準庫lxml的安裝及找不到etree問題PythonXML
- 解決Make時,“/usr/bin/ld: 找不到 -lXXX”問題的三種方法
- Scala版本與Java版本不匹配導致的找不到主類問題Java
- 解決Python找不到ssl模組問題 No module named _sslPython