Android Question SQLCipher library 2.30 issue Android 6.0

tucano2000

Active Member
Licensed User
Longtime User
My application was running smoothly in previous versions of Android , but after receiving messages from users who have upgraded to Android 6 and I take the test in the emulator that android version of the log returned in B4A is shown below :


B4X:
main_activity_create (B4A line: 517)
SQL1.Initialize(File.DirInternal, "config_geral
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "EVP_CipherFinal" referenced by "/data/app/com.infranote-1/lib/arm/libsqlcipher_android.so"...
    at java.lang.Runtime.loadLibrary(Runtime.java:372)
    at java.lang.System.loadLibrary(System.java:1076)
    at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:143)
    at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:137)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:50)
    at com.infranote.main._activity_create(main.java:906)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:187)
    at com.infranote.main.afterFirstLayout(main.java:102)
    at com.infranote.main.access$000(main.java:17)
    at com.infranote.main$WaitForLayout.run(main.java:80)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5417)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

My B4A IDE is v5.20 and SQLCipher library is v 1.20.

Related issues:

https://discuss.zetetic.net/t/sqlcipher-at-android-marshmallow/796
https://discuss.zetetic.net/t/sqlcipher-for-android-3-3-1-1-release/806

https://www.zetetic.net/sqlcipher/open-source/

I think that this library 1.20 in B4A needs update. (https://www.b4x.com/android/forum/threads/android-database-encryption-with-sqlcipher-library.14965/)
 
Last edited:

tcgoh

Active Member
Licensed User
Longtime User
i change the code:

Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Log("First Line OK")
SQL2.Initialize(File.DirInternal,"Test.db",True,"1234","")
Log("Second line OK")
SQL2.ExecNonQuery("CREATE TABLE IF NOT EXISTS test (test123 TEXT null)")
Log("Create database OK")
SQL2.Close
Log("Works!!!")
End Sub

Hi,

I have the same problem with my APP running on Android 6 device(no problem with all other android). But I am not using SQLCipher library only with SQL V1.20.
Do I have to switch to SQLCipher as my main SQL program to solve this android 6 error?

Thanks
 
Upvote 0
Top