最近在用嚴(yán)振杰大神zbar sdk做掃描二維碼的時(shí)候,發(fā)現(xiàn)在android4.2以下機(jī)型會(huì)崩潰,定位錯(cuò)誤發(fā)現(xiàn)是加載so文件出錯(cuò)。原因如下
Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library "libiconv.so" needed by "libzbar.so"; caused by load_library(linker.cpp:745): library "libiconv.so" not found

a1.png
發(fā)現(xiàn)是加載so出錯(cuò),根據(jù)錯(cuò)誤提示,修改ImageScanner代碼如下

修改前.png

修改后.png
bug解決,可能是c/c++代碼不完全兼容android部分版本的原因,抽時(shí)間閱讀下源碼