與版本化共享庫鏈接,我試圖通過loadLibrary
調用來加載在我的Android應用程序兩個共享庫:中的Android NDK
System.loadLibrary("mywrapper");
System.loadLibrary("crypto");
我堅持跑步,捕捉`UnsatisfiedLinkError。這是一個更詳細的錯誤版本。
Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1969]:
130 could not load needed library 'libcrypto.so.1.0.0' for
'libmywrapper.so' (load_library[1111]: Library 'libcrypto.so.1.0.0' not found)
任何想法?
花了一些時間後,我發現Android不支持版本化的庫。有沒有人面臨同樣的問題?
它沒有爲我工作... 我在openssl源代碼目錄上運行它,並且編譯了二進制文件,'unver'目錄輸出與原始二進制文件完全相同libcrypto.so – Giovani 2015-02-13 11:48:56
您可以在腳本中取消註釋#echo並查看出現問題的地方。 – sviborg 2015-02-14 12:43:16
或者使用[patchelf](https://www.mankier.com/1/patchelf)來修復它。 – 2017-10-29 10:11:58