原来用过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文件中的包名要相同。
之后我换了包名

运行,问题解决。
这日的搞了我一下午。
