Learn to Live and Live to Learn

IT(たまにビジネス)に関する記事を読んで、考えて、使ってみたことをまとめる場。

データベースの中身を見る(Android)

データベースの中身を誰でも見られる場所に移動する

run-asをつけるとアプリユーザ(アプリ自身)としてコマンドを実行できます。
しかし、データベースの中身を見たいのは一般ユーザなので、run-asした状態で一般ユーザの見られるSDCardにデータベースをコピーします。
終わったらexitしてください。

$ ./adb shell
$ run-as {package_name} cat databases/<database_name>.db > /sdcard/<database_name>.db  
$ exit

データベース名が分からない場合はこちらで確認できます。

$ ./adb shell
$ run-as {package_name}
$ cd databases
$ ls

データベースをPCにプルする

$ ./adb pull /sdcard/<database_name>.db .

sqlite3で中身を確認する

sqlite3 <database_name>.dbしたあとは普通のSQLと同じ感じでいけました。

$ sqlite3 <database_name>.db 
sqlite> select * from <table_name>;

sqlite3が存在するかはwhich sqlite3とかで確認してください。
Macは標準であるっぽいです。