I have downloaded from git latest zBar QR Code Scanner (SDK 0.2). I am trying to implement it in my application. I work on Android Studio.
What have I done:
There is no need to change anything in gradle because it is already configured to import every jar file from libs projects. See below:
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')
}
Every class form zBar lib can be seen so I have configured everything. I run my ScannerActivity and in onCreate I get error in this line:
scanner = new ImageScanner(); // this line shows an error
scanner.setConfig(0, Config.X_DENSITY, 3);
scanner.setConfig(0, Config.Y_DENSITY, 3);
So implementation is 1:1 the same as in example.
My error log:
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
Please help me with that problem. I don't know why my Android Studio can see lib but can't use it in the same way it's used in example.
I think, you made mistake in your jars structures. If you want to make jar package from *.so libs you should use that kind of structure:
/lib/armeabi/*.so
It is directory structure example for your library:
lib/
---/armeabi
------/libiconv.so
------/libzbarjni.so
and of course you should rename final package from lib.zip to armeabi.jar. In your case you should repeat this process for armeabi-v7a and x86.