sqlite3

Android アプリによって作成された SQLite データベースは、リモートシェルからデバイス上で、またはホストマシンから、sqlite3 コマンドライン プログラムを使って管理します。sqlite3 ツールには、テーブルの内容を出力する .dump や、既存のテーブルに対する SQL CREATE ステートメントを出力する .schema などの多数の便利なコマンドがあります。このツールを使用すると、SQLite コマンドをその場で実行することもできます。

詳細については、SQLite ドキュメントをご覧ください。その他のドキュメントについては、sqlite3 と、SQLite でサポートされている SQL 言語仕様をご覧ください。

リモートシェルから sqlite3 を使用するには:

  1. adb [-d|-e|-s {<serialNumber>}] shell
    コマンドを入力して、リモートシェルに入ります。
  2. リモートシェルから次のコマンドを入力して sqlite3 ツールを起動します。
    sqlite3

    必要に応じて、検索するデータベースへの完全パスを指定することもできます。 エミュレータまたはデバイスのインスタンスは、SQLite データベースをディレクトリ /data/data/<package_name>/databases/ に保存します。

  3. 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 を起動します。

  1. データベース ファイルをデバイスからホストマシンにコピーします。
    adb pull <database-file-on-device>
    
  2. データベース ファイルを指定して sqlite3 ツールを起動します。
    sqlite3 <database-file-on-host>