我已经从 git 下载了最新的 zBar QR Code Scanner (SDK 0.2)。我正在尝试在我的应用程序中实现它。我在 Android Studio 上工作。
我做了什么:
- 我已将 zBar.jar 复制到我的项目的 libs 文件夹中。
- 我通过压缩“amerabi”、“amerabi-v7a”、“x86”创建了 *.jar 文件并将其格式更改为 *.jar。
- 我已将 amerabi.jar、amerabi-v7a.jar 和 x86.jar 复制到我的项目的 libs 文件夹中。
-
无需更改 gradle 中的任何内容,因为它已配置为从 libs 项目导入每个 jar 文件。见下文:
dependencies {
compile 'com.android.support:support-v4:18.0.+'
compile 'com.crashlytics.android:crashlytics:1.+'
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':FacebookSDK')
compile project(':actionbarsherlock')
compile project(':Aviary-SDK')
}
-
zBar lib 中的每个类都可以看到,因此我已经配置了所有内容。我运行 ScannerActivity 并在 onCreate 中出现以下错误:
scanner = new ImageScanner(); // this line shows an error
scanner.setConfig(0, Config.X_DENSITY, 3);
scanner.setConfig(0, Config.Y_DENSITY, 3);
所以实现是 1:1 与示例中相同。
我的错误日志:
java.lang.UnsatisfiedLinkError: Couldn't load zbarjni from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/pl.toptof.android.debug-2.apk"],nativeLibraryDirectories=[/data/app-lib/pl.toptof.android.debug-2, /vendor/lib, /system/lib]]]: findLibrary returned null
请帮我解决这个问题。我不知道为什么我的 Android Studio 可以看到 lib,但不能像示例中使用的那样使用它。
我认为,你的罐子结构犯了错误。如果你想从 *.so 库中制作 jar 包,你应该使用这种结构:
/lib/armeabi/*.so
这是您的库的目录结构示例:
lib/
---/armeabi
------/libiconv.so
------/libzbarjni.so
当然,您应该将最终包从 lib.zip 重命名为armeabi.jar。在您的情况下,您应该对armeabi-v7a 和x86 重复此过程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)