##したいこと
実機をUSBで繋いだ状態で、andoridアプリで使用したsqliteのデータベースの中身を(できるだけ分かりやすく)見たい
##環境
AndroidStudio 1.5.1
スマホ SC-06D
windows7
##スマホのどこに保存されているか
/data/data/(アプリのパッケージ名)/databases
権限がないのでエクスプローラーでは見えない
##1 adb(Android Debug Bridge )を使ってアンドロイドの中身に入る
###a adbのインストール
AndroidStuidio->file->settings->ADB ideaインストール
###b AndroidSDKのPATH設定
システムのプロパティの「詳細設定」のPATHに
C:(AndroidStudioの場所)\sdk\tools
C:(AndroidStudioの場所)\sdk\platform-tools
を「;」で区切って追加
参考
Androidアプリ開発でadbコマンドを使ってシェルを起動する方法【初心者向け】
http://techacademy.jp/magazine/2989
###c adbで確認
コマンドプロンプトかAndroidStudioのTerminalで
adb shell
(起動)
->shell@android:/
となりますのでそこで
->run-as (アプリのパッケージ名)
->そうするとdataフォルダの中身を見れます
->cd databases
でdatabasesフォルダに移動
->ls
でフォルダの中身を表示
->該当のdbがあるか確認
###d adbで操作
ファイルのコピーはcat
なのですぐに使いたくなりますが、dataフォルダの中で使ったのでは外に出せませんので、自分が外に出ます。
exit
で始めの
shell@android:/
に戻ります。
そこで
run-as (パッケージ名) cat databases/(データベース名).db > /(スマホでアクセスできるフォルダ)/(データベース名).db
スマホでアクセスできるフォルダ名 SC06Dだと /storage/sdcard0/download
とかになります。
ここまで来るとwindowsのエクスプローラーでもアクセスできるようになります。
参考
SQLiteの取得と内容確認
http://ymlib.com/YMWorld/Android/P0/W0/P007/YMWAndroid007.html
##2 さらにファイルをGUIで見たい
sqlite browserを使用
詳しくは
DB Browser for SQLiteの使い方
http://www.dbonline.jp/sqlite-db-browser/
データの表示/追加/修正/削除
http://www.dbonline.jp/sqlite-db-browser/data/index1.html
これで内容が入っているか確認したり、構文が合っているか確認したりできるようになりました。
##今回わからなかったこと
SQLite の中身を見る
http://muchag.undo.jp/archives/665
こんな感じでadb shellの中でsqliteを実行したかったのだがそれはなぜかできなかった。
##感想
GUIで見れると安心する。