It seems that now it successfully load the .so and it can access native methods, but there is a problem reading a MDB error content; I get this error:
01-20 09:52:53.476: E/AndroidRuntime(1461): FATAL EXCEPTION: Thread-164
01-20 09:52:53.476: E/AndroidRuntime(1461): Process: com.example.android.keychain, PID: 1461
01-20 09:52:53.476: E/AndroidRuntime(1461): java.lang.NoSuchMethodError: No virtual method addressSize()I in class Lsun/misc/Unsafe; or its super classes (declaration of 'sun.misc.Unsafe' appears in /system/framework/core-libart.jar)
01-20 09:52:53.476: E/AndroidRuntime(1461): at org.fusesource.lmdbjni.Unsafe.<clinit>(Unsafe.java:26)
01-20 09:52:53.476: E/AndroidRuntime(1461): at org.fusesource.lmdbjni.NativeBuffer.read(NativeBuffer.java:190)
01-20 09:52:53.476: E/AndroidRuntime(1461): at org.fusesource.lmdbjni.NativeBuffer.toByteArray(NativeBuffer.java:198)
01-20 09:52:53.476: E/AndroidRuntime(1461): at org.fusesource.lmdbjni.Util.string(Util.java:34)
01-20 09:52:53.476: E/AndroidRuntime(1461): at org.fusesource.lmdbjni.Util.checkErrorCode(Util.java:39)
01-20 09:52:53.476: E/AndroidRuntime(1461): at org.fusesource.lmdbjni.Env.open(Env.java:59)
01-20 09:52:53.476: E/AndroidRuntime(1461): at org.fusesource.lmdbjni.Env.open(Env.java:51)
01-20 09:52:53.476: E/AndroidRuntime(1461): at org.fusesource.lmdbjni.Env.open(Env.java:47)