我使用的是最新的Android Studio 0.2.6和最新的ZBar Android SDK.到目前为止我做了什么:
创建了一个名为QRTest的全新项目
在我的项目中创建了一个名为libs的文件夹
将Zbar libs目录的内容放入我的项目文件夹中
右键单击项目中的zbar.jar文件并添加为库
在我的build.gradle文件中,编辑它以便它现在是:
依赖{compile'com.android.support:support-v4:13.0.0'编译文件('libs/zbar.jar')}
基本上将示例代码从ZBar android SDK示例复制到我自己的项目中.
该项目编译并运行正常(0错误,0警告),但它在运行时崩溃.日志显示:
09-01 16:06:02.026:W/dalvikvm(7050):异常Ljava/lang/UnsatisfiedLinkError; 在初始化Lnet/sourceforge/zbar/ImageScanner时抛出;
09-01 16:06:02.036:E/AndroidRuntime(7050):java.lang.UnsatisfiedLinkError中:致无法加载库:link_image [1891]:209无法负载所需的库 'libiconv.so' 的"libzbarjni.so '(load_library [1093]:未找到库'libiconv.so')
09-01 16:06:02.036:E/AndroidRuntime(7050):at net.sourceforge.zbar.ImageScanner.(Unknown Source)
看看我的MainActivity中的代码,它似乎在这里濒临死亡:
/* Instance barcode scanner */
scanner = new ImageScanner();
这似乎告诉我,我不知道我没有正确导入我的Zbar库文件.任何有关如何获得这个非常基本的例子的帮助将不胜感激!
请注意,如果我使用Android Studio从ZBar Android SDK示例导入新项目,它会编译并运行正常.但是,它使用的是旧的ant构建系统.我宁愿使用新的gradle构建系统,这就是为什么我要将ZBar导入到一个全新的Android 0.2.6项目中.谢谢!
另一个注意事项:我尝试将我的构建gradle修改为接受的答案:如何更改Gradle中的libs目录?它不起作用.