Android 기기의 데이터베이스(SQLite) 내용을 쉽게 보는 방법

개발하고 있다면 데이터베이스의 값을보고 싶을 때가 있다고 생각합니다.
그러나, 조사하면 낡은 정보에 있어서 할 수 없거나 하기 때문에, 지금 현재의 정보를 정리했습니다.

이 기사의 환경


  • Android 기기 ... Android 8.0.0 ASUS_Z01KDA (ZenFone 4)
  • Editor ... Android Studio 3.1.4
  • PC ... Windows 10

  • 개요



    SQlite3는 하나의 sqlite 파일(일반적으로 .sqlite3의 확장자)에 데이터베이스 정보가 모두 포함되어 있으므로, 그 sqlite 파일을 단말기에서 자신의 PC에 복사하여 DB Browser for SQLite 등으로 확인하면 내용 를 볼 수 있다.

    Android Studio의 Device File Explore에서 복사



    단말기로부터의 복사는 Android Studio의 Device File Explore를 사용하면 편하게 복사할 수 있다.

    오른쪽 하단의 Device File Explore를 클릭


    클릭하면 단말의 파일 탐색기가 표시됩니다.


    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 출력하는 커맨드로는 생각한다.
  • run-as (アプリのパッケージ名) (コマンド) ··· 그 앱의 패키지의 유저로서 실행하는 커멘드./data/data/(アプリのパッケージ名)/ 가 해당 사용자의 홈 디렉토리가 됩니다.

  • 구그라면 자주


  • 단말의 sqlite 파일을 단말내에서 모두가 액세스 할 수 있는 장소(SD카드등)에 cat (コピー元) > (コピー先) 로 복사
  • 거기에서 adb pull 에서 자신의 PC에 복사

  • 라고 하는 수법은 지금은 1.을 할 수 없기 때문에 할 수 없습니다.

    참고 링크


  • nyan의 앱 개발 - [Android] Device File Explorer에서 파일을 들여다 보았습니다.
  • 음유시인의 희언 - 【#Android】’Lolipop’ 이후로, cat을 사용해 SQLite3 파일을 취득하면 사이즈 0의 대책을 발견했다
  • Qiita - [Android] 기기의 데이터베이스 내용을 보는 방법
  • 좋은 웹페이지 즐겨찾기