需要在Android里面動態加載so檔案
由于使用的是三方jar,在jar里面呼叫的so檔案,他使用的方法是System.loadLibrary("msc");
我的方案是,so檔案默認不放入lib,需要的時候從網路上下載,然后加載
最后發現System.load(下載的so檔案)沒有問題,但是System.loadLibrary("msc")的時候就出現錯誤
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.ise.myapplication-SqpBZp9IeaG1UnwZJKjjyQ==/base.apk"],nativeLibraryDirectories=[/data/user/0/com.ise.myapplication/files/armeabi-v7a, /data/app/com.ise.myapplication-SqpBZp9IeaG1UnwZJKjjyQ==/lib/arm, /system/lib]]] couldn't find "libmsc.so"
下載的so檔案和jar里面的so檔案是一個,理論上不會有問題
請問這種情況怎么處理?
uj5u.com熱心網友回復:
load需要的是絕對路徑,而loadlibrary需要檔案在庫路徑下uj5u.com熱心網友回復:
這個我知道,我的操作是先將下載下來的so檔案copy到jniLibs下,然后通過ClassLoader修改。理論上是不是就加載了這個so檔案?
我在通過load和loadLibrary去呼叫,理論上都應該可以啊?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/47332.html
標籤:Android
上一篇:微信公眾號中如何播放視頻
