最近重構之前的項目,調試時出現無法加載so檔案。
我so檔案放置的路徑如下:
出現的錯誤是:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: net.comet.example, PID: 6786
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/net.comet.example-1/base.apk"],nativeLibraryDirectories=[/data/app/net.comet.example-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libZBarDecoder.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:989)
at com.dtr.zbar.build.ZBarDecoder.(ZBarDecoder.java:6)
at me.ele.hbdteam.widget.ScanView$1.onPreviewFrame(ScanView.java:263)
at android.hardware.Camera$EventHandler.handleMessage(Camera.java:1565)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5696)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
錯誤裡顯示的路徑中包名後面多了一個 -1 ,不知道怎麼回事,我仔細檢查了下,發現工程裡的包名沒有 -1 才對!
我又重建立了一個空的工程,然後把這些檔案和部分代碼拷貝過去,運作卻正常。
百思不得其解,是以上來請教了!