要正确使用SQL Cipher for Android,您必须使用外部库并更改与数据库进行交互的一些代码.
>这些必须首先被添加到您的项目(在libs文件夹内).请参考这里获得这些:http://sqlcipher.net/sqlcipher-for-android/
>其次,您需要将icudt4dl.zip文件添加到资产文件夹,此Zip附带SQL Cipher库.
>右键单击您的项目,转到属性,然后Java构建路径,然后包括库,如commons-codec.jar,guava-r09.jar,sqlcipher.jar.一旦完成,做一个建设干净.
>然后在你的应用程序中,而不是导入android.database.sqlite,您将导入导入net.sqlcipher.database
>更改与数据库交互的任何代码,例如:
SQLiteDatabase.loadLibs(上下文);
String dbPath = this.getDatabasePath(“dbname.db”).getPath();
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbPath,“dbPassword”,null);
>验证数据库是否已加密,请在Eclipse中转到DDMS透视图,单击文件资源管理器选项卡,导航到data / data /,单击.db文件,然后选择获取设备文件,将其保存到桌面并打开它文本编辑器.查找您已插入数据库的纯文本值,如果仍然可以读取它们,则会出错.
更新
这个答案现在已经过时了,Eclipse已经不再适用于Android开发.我最近不得不使用Android Studio for Android 5 6上的SQLCipher构建一个应用程序,这些是我遵循的步骤.
在Android Studio中,您可以将SQLCipher作为依赖项包含在构建文件中.更新您的构建渐变的依赖关系包括以下行:
dependencies{
compile 'net.zetetic:android-database-sqlcipher:3.5.4@aar'
}
除非我删除了lib文件夹和资产文件夹中的SQLCipher文件,否则我的应用程序将不会构建,但之后它将按预期运行.进行这些更改后,运行构建/清理并检查是否可行.
上面提到的同样的步骤改变你的代码仍然存在.