Android アプリによって作成された SQLite データベースは、リモートシェルからデバイス上で、またはホストマシンから、sqlite3
コマンドライン プログラムを使って管理します。sqlite3
ツールには、テーブルの内容を出力する .dump
や、既存のテーブルに対する SQL CREATE ステートメントを出力する .schema
などの多数の便利なコマンドがあります。このツールを使用すると、SQLite コマンドをその場で実行することもできます。
詳細については、SQLite ドキュメントをご覧ください。その他のドキュメントについては、sqlite3
と、SQLite でサポートされている SQL 言語仕様をご覧ください。
リモートシェルから sqlite3
を使用するには:
- 次のコマンドを入力して、リモートシェルに入ります。
adb [-d|-e|-s {<serialNumber>}] shell
- リモートシェルから次のコマンドを入力して
sqlite3
ツールを起動します。sqlite3
必要に応じて、検索するデータベースへの完全パスを指定することもできます。 エミュレータまたはデバイスのインスタンスは、SQLite データベースをディレクトリ
/data/data/<package_name>/databases/
に保存します。 sqlite3
を呼び出した後に、シェル内でコマンドを実行できます。終了して adb リモートシェルに戻るには、「exit
」を入力するか、Control+D キーを押します。
次に例を示します。
$ adb -s emulator-5554 shell # sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.db SQLite version 3.3.12 Enter ".help" for instructions .... enter commands, then quit... # sqlite> .exit
注: /data/data
ディレクトリ階層内のファイルを表示するには、ファイル システムへの root アクセス権が必要です。
sqlite3
をシェル内ではなく、ローカルに使用するには、デバイスからデータベース ファイルを取得して sqlite3
を起動します。
- データベース ファイルをデバイスからホストマシンにコピーします。
adb pull <database-file-on-device>
- データベース ファイルを指定して
sqlite3
ツールを起動します。sqlite3 <database-file-on-host>