我需要在我的應用程序中運行比操作系統中更新版本的openssl。我能夠修補和Android源代碼來編譯更新的版本,然後提取共享庫以在我的應用程序中使用。Android無法加載本地libcrypto不滿意的鏈接錯誤
然後,我能夠編譯和鏈接我的本機代碼,它只需要在較新版本的openssl中針對我的新共享庫(更新的openssl的補丁工作)。
我也能夠創建一些按預期工作的jni函數,但只要在應用程序本地的較新的openssl共享庫中添加函數,我就會得到一個不滿意的鏈接錯誤。
我的假設是,libcrypto和libssl的系統版本正在覆蓋我的本地版本/libs/armeabi/libcrypto.so和/libs/armeabi/libssl.so ....如何解決這個問題?
我試圖將libcrypto.so的文件名更改爲其他內容,但沒有奏效。文件名不重要,我必須在openssl構建中更改它? –
確實,您需要用這個新名稱重建庫。我根據您的建議更新了答案。 –