Hi I am developing android application in which I am using SQLCipher along with Activeandroid.I tried to implement it in following way:
In my Lib folder I have included : commons-codec.jar, guava-r09.jar, sqlcipher.jar.
And in armeabi folder libdatabase_sqlcipher.so,libsqlcipher_android.so, libstlport_shared.so.
Inside x86 folder : libdatabase_sqlcipher.so, libsqlcipher_android.so, libstlport_shared.so
in assets folder: icudt46l.zip
in build.gradle file
dependencies {
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
// compile 'com.android.support:support-v4:23.1.1'
compile files('libs/ActiveAndroid.jar')
// compile files('libs/android.jar')
compile files('libs/sqlcipher.jar')
compile files('libs/commons-codec.jar')
compile files('libs/guava-r09.jar')
compile files('libs/native-libs-1.0.jar')
/*
compile files('libs/native-libs-1.0.jar')*/
}
I tried to compile my project it gives me following error:
java.lang.UnsatisfiedLinkError: No implementation found for void net.sqlcipher.database.SQLiteDatabase.dbopen(java.lang.String, int) (tried Java_net_sqlcipher_database_SQLiteDatabase_dbopen and Java_net_sqlcipher_database_SQLiteDatabase_dbopen__Ljava_lang_String_2I)
at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
at net.sqlcipher.database.SQLiteDatabase.<init>(SQLiteDatabase.java:1950)
at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:900)
at net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:943)
at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:107)
at com.activeandroid.Cache.openDatabase(Unknown Source)
at com.activeandroid.Cache.initialize(Unknown Source)
at com.activeandroid.ActiveAndroid.initialize(Unknown Source)
at com.activeandroid.ActiveAndroid.initialize(Unknown Source)
at com.activeandroid.ActiveAndroid.initialize(Unknown Source)
at com.example.nileshkashid.secureactiveandroid.MainApplication.onCreate(MainApplication.java:15)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1024)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4953)
at android.app.ActivityThread.access$1500(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5702)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)