Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio 0.2.6和ZBar项目设置_Android_Zbar - Fatal编程技术网

Android Studio 0.2.6和ZBar项目设置

Android Studio 0.2.6和ZBar项目设置,android,zbar,Android,Zbar,我正在使用最新的Android Studio 0.2.6和最新的ZBar Android SDK。到目前为止我所做的: 创建了一个名为QRTest的全新项目 在我的项目中创建了一个名为libs的文件夹 将Zbar libs目录的内容放入我的项目文件夹中 在我的项目中右键单击zbar.jar文件并添加为库 在my build.gradle文件中,对其进行编辑,使其现在: 依赖关系{ 编译'com.android.support:support-v4:13.0.0' 编译文件('libs/z

我正在使用最新的Android Studio 0.2.6和最新的ZBar Android SDK。到目前为止我所做的:

  • 创建了一个名为QRTest的全新项目

  • 在我的项目中创建了一个名为libs的文件夹

  • 将Zbar libs目录的内容放入我的项目文件夹中

  • 在我的项目中右键单击zbar.jar文件并添加为库

  • 在my build.gradle文件中,对其进行编辑,使其现在:

    依赖关系{ 编译'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/unsatifiedlinkerror;初始化时抛出 Lnet/sourceforge/zbar/ImageScanner

    09-01 16:06:02.036: E/AndroidRuntime(7050):由以下原因引起:java.lang.UnsatifiedLink错误: 无法加载库:link_image[1891]:209无法加载所需的 库'libiconv.so'表示'libzbarjni.so'(加载库[1093]:库 “libiconv.so”未找到)

    09-01 16:06:02.036:E/AndroidRuntime(7050): 位于net.sourceforge.zbar.ImageScanner。(未知来源)

    查看我的MainActivity中的代码,它似乎正在消亡:

     /* Instance barcode scanner */
     scanner = new ImageScanner();
    
    这似乎表明我没有正确导入我的Zbar库文件。任何关于如何建立和运行这个非常基本的示例的帮助都将不胜感激

    需要注意的是,如果我使用androidstudio从ZBar安卓SDK示例导入一个新项目,那么它可以编译并运行良好。但是,它使用的是旧的ant构建系统。我更愿意使用新的gradle构建系统,因此我正试图将ZBar导入一个全新的Android 0.2.6项目。谢谢

    另一个注意事项:我尝试将我的构建梯度修改为此处接受的答案:但它不起作用


    您应该将*.so库添加到项目中。如果您使用AndroidStudio和Gradle,这有点复杂,因为您需要将库打包到jar中。在这里查看我的答案:查看更多详细信息。

    解决方案:

  • 将zbar.jar添加到app/libs

  • 在src/main下创建一个名为“jniLibs”——Java本机接口(JNI)的文件夹,并将文件夹armeabi-v7a、armeabi和x86复制到src/main/jniLibs中

  • 文件结构如下所示:

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

  • 转到文件>项目结构>应用程序>依赖项>将support-v4添加到项目中

  • 你好,我现在面临同样的问题。你知道如何将zBar导入Android Studio吗?一个人不能利用Gradle吗?你让我很开心。令人惊叹的!