安装Android Studio 0.2.6和ZBar项目设置

4
我正在使用最新版本的Android Studio 0.2.6和最新版本的ZBar Android SDK。目前为止我所做的是:
  1. 创建一个名为QRTest的全新项目。
  2. 在我的项目中创建了一个名为libs的文件夹。
  3. 将Zbar libs目录下的内容放入到我的项目文件夹中。
  4. 右键点击我的项目中的zbar.jar文件并添加为库。
  5. 在我的build.gradle文件中进行编辑,现在它应该是这样的:
  6. dependencies { compile 'com.android.support:support-v4:13.0.0' compile files('libs/zbar.jar') }

  7. 基本上将ZBar android SDK示例代码复制到了我的项目中。
  8. 项目编译和运行都很好(没有错误,没有警告),但运行时会崩溃。日志显示:

09-01 16:06:02.026: W/dalvikvm(7050): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lnet/sourceforge/zbar/ImageScanner;

09-01 16:06:02.036: E/AndroidRuntime(7050): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1891]: 209 could not load needed library 'libiconv.so' for 'libzbarjni.so' (load_library[1093]: Library 'libiconv.so' not found)

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项目中。谢谢!另外请注意:我尝试修改我的build gradle到这里接受的答案:How to change libs directory in Gradle?但它没有起作用。

你好,我现在也遇到了同样的问题。你解决了如何将zBar导入Android Studio吗? - F1sher
2个回答

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. 转到文件 > 项目结构 > 应用程序 > 依赖项 > 将 support-v4 添加到项目中

能不能不使用Gradle呢? - Zapnologica
你让我的一天变得美好。太棒了! - Anudeep

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接