본문 바로가기
개발/flutter

우분투 상에서 flutter 앱 개발 중 sqlite db 파일 조회

by hyperhand 2023. 8. 17.

sqflite 패키지를 이용해 앱 내 db 파일을 생성해 데이터를 관리하려고 코드 작성하고 테스트 하다가 있어야할 테이블이 존재하지 않는다는 에러 메시지가 발생됐다.

 

 

 

 

개발PC에 존재하는 데이터베이스라면 그냥 툴로 쉽게 DB 파일을 오픈해 볼 수 있지만 안드로이드 에뮬레이터에 있다보니 어떻게 확인해야 할 지 몰라 구글링 해보니 어느 개발자분께서 해결책을 알려주셨다.

 

1. 터미널을 오픈

 

 

2. 안드로이드 스튜디오를 열어 SDK 디렉토리를 확인하고 해당 위치로 이동하여 adb 파일이 있는 곳으로 이동. 나는 안드로이드 스튜디오 열기 귀찮아서 그냥 터미널에서 아래 명령 입력 후 위치 확인

$ sudo find / -name adb*

그럼 아래와 같이 여러 파일들 중 ..../SDK/platform-tools 밑에 adb 파일이 확인된다.

 

 

 

 

 

3. 다음 명령을 입력해 attached 된 에뮬레이터 목록을 확인한다.

$ ./adb devices

 

 

4. 확인된 에뮬레이터 다음 명령을 입력해 폰의 쉘로 접근한다.

$ ./adb -s emulator-5554 shell

 

그럼 아래와 같이 에뮬레이터로 접속이 된다.

 

 

5. 실행 앱의 데이터에 접근하기 위해 다음 명령을 입력한다.

$ run-as [패키지명]

 

 

 

 

 

 

6. 이후 flutter 소스 코드 상에서 데이터베이스 위치를 확인해본다.

 

 

7. 확인된 데이터베이스 위치로 이동한다.

emu64xa:/data/user/0/[패키지명] $ cd 확인된 DB 경로

 

 

8. 아래 명령으로 DB에 접속한다.

emu64xa:[db경로] $ sqlite3 test.db <== 생성했던 db 파일명

위 그림처럼 DB에 접속되고 .tables 명령을 이용해 생성된 테이블 목록도 확인할 수 있다.

반응형