关于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文件中的包名要相同。
 
之后我换了包名
 
运行,问题解决。
 
这日的搞了我一下午。
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM