SQLite Databaseの中身を確認する

2020-06-20 Android adb SQLite

はじめに

Android Qのエミュレーターでsqlite3を使用してDatabaseのdebugができるようになります。

環境

  • Mac OS X(10.15.4)

  • Android 10.0(Q)

  • SQLite version 3.28.0

前提条件

  • Android/sdk/platform-toolsへのpathを通していること

手順

(1) 端末からdatabaseのファイルを取得する

adb exec-out run-as <package-name> cat databases/<database-name> > <database-name>.db

(2). sqlite3を使用してterminal上からdatabaseを操作できるようにする

sqlite3 <database-name>.db

(3). SQLを発行してdatabaseのdebugを行う
e.g.: テーブル名<table-name>の確認をする

.select * from <table-name>;

adbのコマンド説明

exec-out

端末の標準出力をローカルファイルに直接リダイレクトしたい時に使用する
NOTE: referenceに明記されていないようで、動作保証されているわけではなさそう

run-as

<package-name>で指定したプロセスでコマンドを実行する
NOTE: adb rootが取得できれば必要ないが、adb rootが取得できない端末だと アプリ配下のデータを閲覧する権限があるのはアプリ自身だけなので、run-asする必要がある