I have an android app with a SQLite database of 100k+ lines, populated from a *.db file in assets folder.
I would like to make harder the database to be pulled out from the device.
First, what are the ways for someone to pull the database ?
he can get the APK and extract the *.db files from assets folder
once the app launched, the device's sqlite server can be queried
So, what are the ways to make the database harder to pull :
Encrypt *.db files in assets folder
SQLCipher for Android ? Anyway, I dont wan't the user to have to type a password, I (the client) just want to make harder the SQLite to be pulled, like storing the password in the code and using proguard to make it hard to find
Regards
Well if you want to protect the file must be on "Root" directory of android. For that, you need to download ".DB" file from the server and move it onto "root" directory. However, this needs an internet connection for the first time app running
Another way is to use,
SQliteCrypt - with SQLiteCrypt you can encrypt the SQLite database and User do not need to enter the password you can set the key in java file when extracting the data.that will be more secure, fast and reliable.