Android Studio 0.2.6和ZBar项目设置

kur*_*kun 4 android zbar

我使用的是最新的Android Studio 0.2.6和最新的ZBar Android SDK.到目前为止我做了什么:

  1. 创建了一个名为QRTest的全新项目
  2. 在我的项目中创建了一个名为libs的文件夹
  3. 将Zbar libs目录的内容放入我的项目文件夹中
  4. 右键单击项目中的zbar.jar文件并添加为库
  5. 在我的build.gradle文件中,编辑它以便它现在是:

    依赖{compile'c​​om.android.support:support-v4:13.0.0'编译文件('libs/zbar.jar')}

  6. 基本上将示例代码从ZBar android SDK示例复制到我自己的项目中.
  7. 该项目编译并运行正常(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();
Run Code Online (Sandbox Code Playgroud)

这似乎告诉我,我不知道我没有正确导入我的Zbar库文件.任何有关如何获得这个非常基本的例子的帮助将不胜感激!

请注意,如果我使用Android Studio从ZBar Android SDK示例导入新项目,它会编译并运行正常.但是,它使用的是旧的ant构建系统.我宁愿使用新的gradle构建系统,这就是为什么我要将ZBar导入到一个全新的Android 0.2.6项目中.谢谢!

另一个注意事项:我尝试将我的构建gradle修改为接受的答案:如何更改Gradle中的libs目录?它不起作用.

在此输入图像描述

小智 12

解:

  1. 将zbar.jar添加到app/libs中

  2. 在src/main下创建一个名为"jniLibs"的文件夹-Java Native Interface(JNI),并将文件夹armeabi-v7a,armeabi和x86复制到src/main/jniLibs中.

文件结构如下:

src/main/jniLibs/armeabi-v7a
src/main/jniLibs/armeabi
src/main/jniLibs/x86

  1. 转到文件>项目结构>应用程序>依赖关系>将支持-v4添加到项目中