23
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Android端末のデータベース(SQLite)の中身を簡単に見る方法

Last updated at Posted at 2018-09-03

開発しているとデータベースの値を見たいときがあると思います。
しかし、調べると古い情報にあたって出来なかったりするので、今現在の情報をまとめました。

この記事の環境

  • Android端末・・・ Android 8.0.0 ASUS_Z01KDA(ZenFone 4)
  • エディタ・・・ Android Studio 3.1.4
  • PC ・・・ Windows 10

概要

SQlite3は1つのsqliteファイル(一般的に.sqlite3の拡張子)にデータベース情報の全てが入っているので、そのsqliteファイルを端末から自分のPCにコピーしてDB Browser for SQLiteなどで確認すれば中身を見ることができる。

Android StudioのDevice File Exploreでコピー

端末からのコピーはAndroid Studio のDevice File Exploreを使うと楽にコピーができる。

右下の「Device File Explore」をクリック
device.PNG

クリックすると端末内のファイルエクスプローラーが表示される。
dddd.PNG

sqliteファイルの場所は/data/data/(アプリのパッケージ名)/databases/(sqliteファイル名)にある
※sqliteファイル名はSQLiteOpenHelperクラスを継承したクラスで指定した名前になる

sqliteファイル上で右クリック→保存 で自分のPCの好きな場所に保存できる

コマンドでsqliteファイルをコピー

Terminalから下記のコマンドでsqliteファイルがコピーできます

adb exec-out run-as (アプリのパッケージ名) cat databases/(sqliteファイル名) > (コピー先の自分のPCでのパス名)

解説

  • adb exec-out (コマンド) ・・・コマンド自体の解説は出てこなかったのだが、おそらくadb shellとして端末にログインしたときのユーザーとしてコマンドを実行し、その端末での標準出力を自分のPCでの出力として出力するコマンドではなかと思う。
  • run-as (アプリのパッケージ名) (コマンド) ・・・そのアプリのパッケージのユーザーとして実行するコマンド。
    /data/data/(アプリのパッケージ名)/がそのユーザーのホームディレクトリになる。

ググったらよくある

  1. 端末のsqliteファイルを端末内でみんながアクセスできる場所(SDカードなど)にcat (コピー元) > (コピー先)でコピー
  2. そこからadb pullで自分のPCにコピー

という手法は今は1.ができないのでできません。

#参考リンク

23
25
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?