使用Android Studio集成Zbar进行二维码或者条形码,引入.so库时,出现java.lang.UnsatisfiedLinkError 异常,详细如下:
问题:
06-17 15:52:08.097 7876-7916/com.ishow.scan E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-61542
java.lang.UnsatisfiedLinkError: Native method not found: com.ishow.scan.zbar.ZbarManager.decode:([BIIZIIII)Ljava/lang/String;
at com.ishow.scan.zbar.ZbarManager.decode(Native Method)
at com.ishow.scan.decode.DecodeHandler.decode(DecodeHandler.java:58)
at com.ishow.scan.decode.DecodeHandler.handleMessage(DecodeHandler.java:39)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at com.ishow.scan.decode.DecodeThread.run(DecodeThread.java:45)
解决:
首先,decode方法是引用类Zbarmanager内的一个方法,加载动态库文件的类对应的包名,必须与Android.mk里面定义的包名一致,否则将会出现java.lang.UnsatisfiedLinkError,