关于java.lang.UnsatisfiedLinkError: Native method not found: com.ishow.scan.zbar.ZbarManager.decode:([BIIZIIII)Ljava/lang/String;

原来用过Zxing来做二维码扫描,现在因为在某些机型上出现了崩溃,实在不知道是为什么,所以现在需要尝试用zBar来实现二维码扫描。

在Eclipse上做好了一个Demo,比较简单,果然,zBar比zXing扫描速度也快了很多,也没有出现崩溃。

现在要把项目移植到Android Studio 上,这里讲一下Android Studio 引入 .so库的方法。

在main下新建一个jniLibs文件夹,将库文件放进入

之后要在.gragle文件中的android{}中加入这样一段引用
 
好了把改移植都移植完了,我运行一下
java.lang.UnsatisfiedLinkError: Native method not found: com.ishow.scan.zbar.ZbarManager.decode:([BIIZIIII)Ljava/lang/String;
 
给我报这个,我明明引用了SO库啊,怎么会找不到。
之后左搞右搞都不行,弄得我都怀疑人生了,我一直都在找我的so库是哪里引错了。
最后实在没有办法,回到Eclipse新建了个项目试试移植一下怎么样。
 
java.lang.UnsatisfiedLinkError: Native method not found: com.ishow.scan.zbar.ZbarManager.decode:([BIIZIIII)Ljava/lang/String;
尼玛,日了够了,瞬间凌乱了。Eclipse也找不到了。
 
之后想想应该是自己哪里弄错了,不然不会两个都不行,工具肯定是没问题,不然没理由两个都错。
 
之后再网上翻了半天,才发现
 
包名不能变,一定要和Android.mk文件中的包名要相同。
 
之后我换了包名
 
运行,问题解决。
 
这日的搞了我一下午。
 
 
posted @ 2015-11-11 17:33  F_by旺  阅读(2664)  评论(1)    收藏  举报