【android】アプリの実機でのデバッグ時に、sqliteのdbの内容を確認する方法
実際にandroidの開発をしていると実機での動作確認中に動作確認しているアプリのsqliteのdbの中身を確認したくなることがあります。
その確認する方法の忘備です。
【前提】:対象アプリがデバッグモードであること
①adb shellを実行
adb shell
② run-asコマンドでアプリを起動しdataディレクトリに入る
run-as [対象アプリのパッケージ名]
上記コマンドを実行すると/data/data/[対象アプリのパッケージ名]/へカレントディレクトリが移動し、[files][databases][shared_pref]ディレクトリが見えるようになります。
③sqliteのdbが保存されているディレクトリに移動
cd databases
sqliteのdbはdatabases配下に保存されています。
④dbファイルをsdcardにコピー
cat /data/data/[対象アプリのパッケージ名]/databases/[dbファイル名] > /sdcard/[dbファイル名]
⑤dbファイルを取得
adb pull /sdcard/[dbファイル名] C: mp[dbファイル名]
上記例では、 WindowsPCの「C: mp」配下に取得しています。
⑥dbファイルの中身の確認
取得したdbファイルをSQLite Manager等のツールで開き、中身を確認します。
この方法は、すべての実機で実行可能ではないのが残念です。
私の場合、Nexus7で④dbファイルをsdcardにコピーする際にcatの権限がないので確認できませんでした。他の端末ではうまくいったのに。。。