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

運行,問題解決。
這日的搞了我一下午。
