I have to write a very simple wrapper around a N5000 scanner library.
Situation:
They have provided me two library files with the same package name:
zltd_decoder.jar: package name
com.zltd.decoder
zltd_common.jar: package name
com.zltd.decoder (includes all the code from
zltd_decoder.jar + some extra settings methods.
--> both contain the class: com.zltd.decoder.DecoderManager (but the common one contains also the extra methods)
On the device, there are two of their apps: one using the zltd_decoder.jar (demo), one using the ztld_common.jar (Scanner settings).
I wrote my wrapper using the
zltd_common.jar (NOT using
zltd_decoder.jar AT ALL), and all the extra methods can be accessed in Eclipse.
So far, so good.
Now if I run my app using my wrapper library and try to access one of the extra methods in zltd_common.jar, I get the following error:
java.lang.NoSuchMethodError: No virtual method enableSymbology(IZ)V in class Lcom/zltd/decoder/DecoderManager; or its super classes (declaration of 'com.zltd.decoder.DecoderManager' appears in /system/framework/zltd_decoder.jar)
Note, in the error, it somehow points to framework/zltd_
decoder.jar, although I have not used this library (I used ztld_
common.jar).
So my question: although very improbable, is it somehow possible when I call a method in my wrapper Android picks the com.zltd.decoder.DecoderManager class from the demo app NOT containing the extra methods instead of the correct class embedded in my apk?
They are not willing to give me the source code of their libraries, else I would just recompile it with a different package name (like com.ab.n5000), to make sure it uses the correct DecoderManager class.