Android 用の SQL Cipher を適切に使用するには、外部ライブラリを使用し、DB と対話するコードの一部を変更する必要があります。
これらは最初にプロジェクトに追加する必要があります (libs フォルダー内)。これらを取得するには、こちらを参照してください: http://sqlcipher.net/sqlcipher-for-android/
次に、icudt4dl.zip ファイルをアセット フォルダーに追加する必要があります。この Zip には SQL Cipher ライブラリが付属しています。
プロジェクトを右クリックし、プロパティに移動してから Java ビルド パスに移動し、commons-codec.jar、guava-r09.jar、sqlcipher.jar などのライブラリを含めます。これが完了したら、ビルド クリーンを実行します。
次に、アプリ内で、android.database.sqlite をインポートする代わりに、import net.sqlcipher.database をインポートします。
DB と対話するコードを変更します。例:
SQLiteDatabase.loadLibs(コンテキスト);
String dbPath = this.getDatabasePath("dbname.db").getPath();
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbPath,"dbPassword", null);
データベースが暗号化されていることを確認し、Eclipse の DDMS パースペクティブに移動し、ファイル エクスプローラー タブをクリックして data/data/ に移動し、.db ファイルをクリックして get device file を選択し、デスクトップに保存してテキストで開きます。編集者。データベースに挿入しているプレーン テキスト値を探します。それでも読み取ることができる場合は、何か問題が発生しています。
SQL Cipher を実装する前に、いくつかの SQLite チュートリアルを確認することもお勧めします。良いものはここで言及されています:
Android sqlite データベース - チュートリアルがメモ帳に行ったので、どこから始めればよいですか?
アップデート
この回答は現在時代遅れであり、Eclipse は Android 開発では実質的に非推奨です。私は最近、Android 5 + 6 用の Android Studio で SQLCipher を使用してアプリを作成する必要がありました。これらは私が従った手順です。
Android Studio では、SQLCipher を依存関係としてビルド ファイルに含めることができます。ビルド gradle の依存関係を更新して、次の行を含めます。
dependencies{
compile 'net.zetetic:android-database-sqlcipher:3.5.4@aar'
}
ここでバージョンを最新に保つことができます:
https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher
libフォルダーとassetフォルダーのSQLCipherファイルを削除しない限り、アプリはビルドされませんでしたが、その後は期待どおりに機能しました。これらの変更を行ったら、ビルド/クリーンを実行して、機能するかどうかを確認します。
コードを変更する上記の同じ手順は引き続き有効です。