programing

Android Studio에서 데이터베이스 파일의 내용 보기

javamemo 2023. 9. 2. 07:56
반응형

Android Studio에서 데이터베이스 파일의 내용 보기

는 안드로이드 스튜디오가 출시된 이후로 앱 개발을 위해 사용하고 있습니다.

최근까지 모든 것이 정상적으로 작동해서 데이터베이스 파일 확인과 함께 디버깅을 해야 합니다.데이터베이스를 직접 볼 수 있는 방법을 모르기 때문에 데이터베이스 파일을 생성하기 위해 디버그할 때, 나는 내 전화기에서 PC로 데이터베이스 파일을 내보내야 합니다.

는 이게하려면합, 저열어니다야렇는을 열어야 합니다.DDMS > File ExplorerDDMS를 열면 USB를 다시 연결해야 하고 디버그 스레드가 손실됩니다.데이터베이스 파일을 확인한 후 디버그 모드로 돌아가기 위해 DDMS를 닫고 USB를 다시 연결해야 합니다.

너무 복잡해요.안드로이드 스튜디오에서 이것을 할 수 있는 더 좋은 방법이 있는 사람이 있습니까(이클립스에서 더 쉬운 것으로 알고 있습니다)?

Android Studio에서 데이터베이스 보기:

옵션 1:

  1. SQLite 브라우저를 다운로드하여 설치합니다.

  2. 장치에서 PC로 데이터베이스를 복사합니다.

    • Android Studio 버전 < 3.0:

      • 다음을 통해 DDMS 열기Tools > Android > Android Device Monitor

      • 왼쪽에 있는 장치를 클릭합니다.
        신청서를 : 응프로야합니다해인확.enter image description here

      • 파일 탐색기(오른쪽 탭 중 하나)로 이동한 다음/data/data/databases enter image description here

      • 데이터베이스를 클릭하여 선택합니다.

      • Android Device Monitor 창의 오른쪽 상단 모서리로 이동합니다.'장치에서 파일 가져오기' 버튼을 클릭합니다.enter image description here

      • 데이터베이스 파일을 저장할 위치를 묻는 창이 열립니다.PC 어디에나 저장할 수 있습니다.

    • Android Studio 버전 >= 3.0:

      • 다음을 통해 장치 파일 탐색기 열기View > Tool Windows > Device File Explorer

      • 에 가다data > data > PACKAGE_NAME > database여기서 PACKAGE_NAME은 패키지의 이름(com)입니다. 예제의 동영상)

      • 데이터베이스를 마우스 오른쪽 단추로 클릭하고 선택합니다.Save As...PC 어디에나 저장할 수 있습니다.

  3. 이제 설치한 SQLiteBrowser를 엽니다.'데이터베이스 열기'를 클릭하고 데이터베이스 파일을 저장한 위치로 이동한 후 엽니다.이제 데이터베이스의 내용을 볼 수 있습니다.


옵션 2:

이 Github 저장소로 이동하여 Readme의 지침에 따라 장치에서 데이터베이스를 볼 수 있습니다.다음과 같은 결과를 얻을 수 있습니다.

enter image description here

바로 그겁니다.그러나 앱을 게시하기 전에 이러한 모든 단계를 취소해야 한다는 것은 말할 필요도 없습니다.

ADB 셸을 통해 Sqlite3에 연결

Android Studio에서 그렇게 할 수 있는 방법을 찾지 못했지만 매번 파일을 당기지 않고 원격 셸로 db에 액세스합니다.

모든 정보는 여기에서 찾을 수 있습니다. http://developer.android.com/tools/help/adb.html#sqlite

1 - 명령 프롬프트에서 platform-tools 폴더로 이동합니다.

- 2 입력 - " 명입력령adb devices 합니다.

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx   device

3 - 장치에 셸을 연결합니다.

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell

4 - DB 파일이 들어 있는 폴더로 이동합니다.

cd data/data/<your-package-name>/databases/

sqlite3를 5회 실행하여 DB에 연결합니다.

sqlite3 <your-db-name>.db

6 - 원하는 sqlite3 명령 실행(예:

Select * from table1 where ...;

참고: 아래에서 실행할 추가 명령을 찾습니다.

SQLite 치트시트

SQLite 데이터베이스에서 테이블을 확인하는 몇 가지 단계가 있습니다.

  1. 데이터베이스에 있는 표를 나열합니다.

    .tables
    
  2. 표 모양을 나열합니다.

    .schema tablename
    
  3. 전체 표 인쇄:

    SELECT * FROM tablename;
    
  4. 사용 가능한 모든 SQLite 프롬프트 명령을 나열합니다.

    .help
    

사실 아무도 이런 해결책을 제시하지 않은 것에 매우 놀랐습니다.

스테토를 보세요.

저는 Steto를 여러 번 다른 목적으로 사용했습니다(그 중 하나는 데이터베이스 검사입니다).실제 웹 사이트에서는 네트워크 검사 기능과 보기 계층 구조에 대한 정보도 제공합니다.

약간의 설정만 하면 됩니다. 1개의 Gradle 종속성 추가(운영 빌드에 대해 설명할 수 있음), Steto를 인스턴스화하기 위한 몇 줄의 코드, 그리고 Chrome 브라우저(모든 작업에 Chrome dev 도구를 사용하기 때문에).

업데이트: 이제 Steto를 사용하여 Realm 파일을 볼 수 있습니다(SQLite DB 대신 Realm을 사용하는 경우). https://github.com/uPhyca/stetho-realm

업데이트 #2: 이제 스테토를 사용하여 카우치베이스 문서를 볼 수 있습니다. https://github.com/RobotPajamas/Stetho-Couchbase

업데이트 #3: Facebook은 새로운 툴인 Flipper에 모든 Steto 기능을 추가하는 데 집중하고 있습니다.플리퍼는 이미 스테토가 가지고 있는 많은 기능들을 가지고 있습니다.그래서 지금이 전환하기에 좋은 시기입니다.https://fbflipper.com/docs/stetho.html

에뮬레이터를 사용하지 않을 때 가장 간단한 방법

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit
$ cp /data/data/your.package.name/databases/database_name /sdcard
$ run-as your.package.name # Optional
$ chmod 660 databases/database_name # Optional
$ chmod 660 databases # Optional
$ exit # Optional
$ exit
$ adb pull /sdcard/database_name

주의사항:

이거 오랜만에 테스트해봤어요.API>=25에서 작동하지 않을 수 있습니다.cp 명령어가 작동하지 않는 경우 대신 다음 중 하나를 사용해 보십시오.

# Pick a writeable directory <dir> other than /sdcard
$ cp /data/data/your.package.name/databases/database_name <dir>

# Exit and pull from the terminal on your PC
$ exit
$ adb pull /data/data/your.package.name/databases/database_name

설명:

첫 번째 블록은 데이터베이스의 권한을 읽을 수 있도록 구성합니다.은 이를통을 활용합니다.run-as패키지의 사용자를 가장하여 변경할 수 있습니다.

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit # Closes the shell started with run-as

그런 다음 데이터베이스를 세계에서 읽을 수 있는/쓰기 가능한 디렉토리에 복사합니다.이를 통해 adb가 사용자에게 접근할 수 있습니다.

$ cp /data/data/your.package.name/databases/database_name /sdcard

그런 다음 기존 읽기/쓰기 권한을 바꿉니다.이는 앱의 보안을 위해 중요하지만 다음 설치 시 권한이 교체됩니다.

$ run-as your.package.name
$ chmod 660 databases/database_name 
$ chmod 660 databases
$ exit # Exit the shell started with run-as

마지막으로 데이터베이스를 로컬 디스크에 복사합니다.

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name

Android Studio 3 이상에서는 Android Studio의 오른쪽 하단에 "장치 파일 탐색기" 섹션이 표시됩니다.

파일 트리를 열면 다음 경로에서 애플리케이션 데이터베이스를 찾을 수 있습니다.

/data/data/{package_name}/databases/

enter image description here

DB 파일을 마우스 오른쪽 버튼으로 클릭하고 다른 이름으로 저장...(그런 다음 바탕 화면에 저장).

그런 다음 SQLite sqlitebrowser.org (다운로드 및 설치 먼저)을 사용하여 데이터베이스 열기를 클릭하고 저장된 *.db 파일을 선택한 다음 데이터 찾아보기 탭을 선택하고 테이블을 선택하여 내용을 확인합니다.

마지막으로 DDMS를 열 필요가 없는 가장 간단한 해결책을 찾았습니다.

사실, 해결책은 @Distwo가 언급한 것을 기반으로 하지만, 그렇게 복잡할 필요는 없습니다.

먼저 장치에서 데이터베이스 파일의 경로를 기억하십시오. 경로는 항상 같아야 합니다.예를 들어 다음과 같습니다./data/data/com.XXX.module/databases/com.XXX.module.database

둘째, 당신의 데이터베이스 파일을 당신의 PC로 가져오는 이 명령을 실행합니다.

 adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/

이 명령을 복사하여 저장하면 계속 사용할 수 있습니다.

셋째, 권한 거부 등이 발생하면 그냥 실행합니다.adb root이전 명령 이전.

Android 스튜디오 내에서 데이터베이스 컨텐츠를 쉽고 간편하게 확인할 수 있는 방법.

#Android Studio 4.1 카나리아 6 이상용

매우 간단한 Android Studio의 데이터베이스 관리자 기능을 사용할 수 있습니다.새 데이터베이스 관리자를 사용하여 앱의 데이터베이스를 검사, 쿼리 및 수정할 수 있습니다.예를 들어, Android Studio를 떠나지 않고 데이터베이스의 값을 수정하고 장치에서 이러한 변경 사항을 실시간으로 테스트하여 실행 중인 앱을 디버그할 수 있습니다.

시작하려면 API 레벨 26 이상을 실행하는 기기에 앱을 배포하고 메뉴바에서 View > Tool Windows > Database Inspector를 선택합니다.

#Android Studio 4.0 이하용

먼저 Android Studio에 Database Navigator 플러그인을 설치합니다.

enter image description here

둘째, Android Studio를 다시 시작합니다.

셋째, 데이터베이스를 (C:\Users\UserName\Documents\와 같은 기본 위치에 저장합니다.Android Studio\장치 탐색기\에뮬레이터 또는 장치\data\data\package name\databases)

enter image description here

넷째, Database Navigator에 저장dbname_db 파일 연결

enter image description here enter image description here

3단계에서 사용된 것과 동일한 DB 파일 경로 지정

i.e(C:\Users\UserName\Documents\)Android Studio\Device Explorer\emulator 또는 device\data\data\package name\dbname_db)

마지막으로 DB 연결을 테스트하고 콘솔을 열고 원하는 작업을 수행합니다.

enter image description here

DB를 새로 고치려면 두 번째 단계를 반복하고 저장하거나 새로 고칩니다.

해피 코딩!!!

가장 쉬운 방법은 Android Debug Database 라이브러리(GitHub의 7.7k )사용하는 것입니다.

Android-Debug-Database

장점:

  • 신속한 구현
  • 모든 데이터베이스 및 공유 환경설정 보기
  • 데이터베이스 값을 직접 편집, 삭제, 생성
  • 지정된 데이터베이스에서 SQLite 쿼리 실행
  • 데이터에서 검색
  • 데이터베이스 다운로드
  • 사용자 정의 데이터베이스 파일 추가
  • 장치를 루팅할 필요 없음

사용 방법:

  1. 더하다debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'build.gradle (module);
  2. 앱 실행;
  3. "(LogCat)).D/DebugDB: Open http://192.168.232.2:8080 in your browser링크가 다를 것)을 선택하고 브라우저에서 링크를 엽니다.
  4. 강력한 디버깅 도구를 즐기십시오!

중요:

  • 안타깝게도 에뮬레이터는 작동하지 않습니다.
  • USB를 합니다.adb forward tcp:8080 tcp:8080
  • Android 전화기와 랩톱이 동일한 네트워크(Wifi 또는 LAN)에 연결되어 있어야 합니다.

자세한 내용은 GitHub의 라이브러리 페이지를 참조하십시오.

이 안드로이드 스튜디오 플러그인 SQLScout을 사용해 보세요.앱 데이터베이스를 실시간으로 보고 편집할 수 있습니다.

SQLScout

편집: 유료 플러그인이지만 24시간 평가판을 사용하고 두통 시간에 적합합니다.

모든 해결책을 살펴본 후에 제가 제안할 것입니다.

스테토스 사용
얼마나 단순한지 알아보겠습니다.

build file build.gradle에 합니다.

implement 'com.facebook.stetho:stetho:1.5.0'
implement 'com.facebook.stetho:stetho-js-rhino:1.4.2'

그런 다음 mainActivity onCreate 메서드로 이동하여 다음 행을 추가합니다.

Stetho.initializeWithDefaults(this);

이것은 당신이 해야 할 것입니다.

import com.facebook.stetho.Stetho;

표시줄에 이제안이스드에서동안앱는튜오을하실행디로오유, 픈크과주표형으줄시소롬드로.
inspect://inspect/

리소스 탭 > 웹 SQL에서 데이터베이스와 테이블을 실시간으로 쉽게 확인합니다.

업데이트: Chrome의 최근 버전에서는 스테토스가 손상되었습니다.문제가 발생하면 edge://inspect/#filename 대신 Edge 개발 도구를 사용해 보십시오. 참조: https://stackoverflow.com/a/67674265/14232521

비록 이것은 꽤 오래된 질문이지만 나는 그것이 오늘날에도 여전히 관련이 있다고 생각합니다.최신 버전의 안드로이드 스튜디오에서 볼 수 있는 방법을 찾았습니다 [이전 버전에서 사용할 수 있었는지 확실하지 않습니다.]

데이터베이스의 데이터를 볼 수 있는 방법은 다음과 같습니다.

단계:

  1. 보기 > 도구 창 > 장치 파일 탐색기로 이동합니다.

  2. 그런 다음 data > data 폴더에 애플리케이션 목록이 표시됩니다.

  3. 거기에서 아래로 스크롤하여 패키지 [신청용 패키지]를 확인합니다.

  4. 패키지를 찾은 후 데이터베이스 폴더를 확인하고 파일을 선택한 후 마우스 오른쪽 단추로 클릭하여 저장 [다운로드]

  5. 데이터를 직접 볼 수 없기 때문에 SQLite용 DB Browser라는 도구가 있습니다. 웹사이트 https://sqlitebrowser.org/

  6. DB 브라우저를 열고 데이터베이스 열기를 누른 후 다운로드한 데이터베이스 테이블을 선택하면 데이터가 표시됩니다.

새 편집

이제(이 게시물을 읽을 때) Android 스튜디오에는 이미 데이터베이스 검사기(오른쪽 하단 모서리)가 설치되어 있으므로 더욱 쉬워졌습니다.

클릭하면 데이터베이스가 표시됩니다.그러나 build.gradle 파일을 통해 변경하지 않는 경우 minimun API 수준이 26인지 확인합니다.minSdkVersion 26

Android 4.1 Canary 5 Preview에 도입된 새로운 Database Inspector는 이제 IDE에서 직접 실행 중인 앱에서 SQLite 데이터베이스를 검사, 쿼리, 수정 및 디버그할 수 있습니다 - https://developer.android.com/studio/preview/features?linkId=86173020#database-inspector

데이터베이스 실시간 쿼리도 지원합니다. - https://developer.android.com/studio/preview/features?linkId=86173020#query

enter image description here

Android 스튜디오에서 사용자가 만든 sqlite 데이터베이스가 저장된 위치를 알기 위해서는 간단한 단계를 따라야 합니다.

1.Run your application
2.Go to Tools--->Android---->Device Monitor
3.Find your application name in left panel
4.Then click on File Explorer tab
5.Select data folder
6.Select data folder again and find your app or module name
7.Click on your  database name
8.On right-top window you have an option to pull file from device.
9.Click it and save it on your PC
10.Use FireFox Sqlite manager to attach it to your project.

자세한 내용은 이 링크를 참조하십시오.http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

DB 파일에 있는 데이터를 보려면 sqlite 브라우저를 다운로드하거나 브라우저에서 파일을 열고 데이터를 볼 수 있도록 동일한 플러그인을 추가해야 합니다.

http://sqlitebrowser.org/ 에서 브라우저 다운로드

레지스터 데이터베이스가 포함된 브라우저를 보여주는 스크린샷입니다.

감사해요.

가장 간단한 방법은 장치를 연결하고 Android Studio를 실행한 다음 도구 모음에서 실행하는 것입니다.

  1. 보기 --> 도구 창 --> 장치 파일 탐색기
  2. 데이터/데이터로 이동하여 패키지 찾기
  3. 탐색할 DB 파일을 찾아서 다운로드합니다.
  4. db 파일을 탐색하려면 이 온라인 도구인 https://sqliteonline.com/ 을 사용하는 것이 좋습니다.

다른 방법은 Steto 라이브러리를 사용하는 것입니다.

  1. stello 종속성을 build.gradle에 추가합니다.

    com.dll을 컴파일합니다.steto:steto:1.5.0'

  2. 응용프로그램 클래스 또는 기본 활동의 작성()에 다음 줄을 놓습니다.

    Steto.초기화기본값 포함(이);

  3. 장치를 연결하고 앱을 실행한 후 Chrome에서 다음 사이트를 입력합니다.

    chrome://inspect/#module

그리고 그게 끝입니다.이제 테이블을 탐색할 수 있습니다.

참고: 운영 환경으로 전환하기 전에 종속성을 제거하는 것이 좋습니다.

Android Studio 내에서 데이터베이스를 탐색하려면 다음을 사용합니다.

[파일] / [설정] / [플러그인]으로 이동하여 다음을 찾습니다.

enter image description here

Android Studio를 다시 시작한 후 다음과 같이 다운로드한 데이터베이스 파일을 선택할 수 있습니다.

"SQL 콘솔 열기" 아이콘을 클릭하면 Android Studio 내부의 데이터베이스를 볼 수 있습니다.

Android Studio 4.1 Canary Dev Preview 출시와 함께 다음과 같은 새로운 도구를 사용할 수 있습니다.

데이터베이스 관리자

DB inspector

AS 4.1+를 설치하고 앱을 실행하고 데이터베이스 검사기를 열면 데이터베이스 검사기 패널 왼쪽에서 데이터베이스 파일을 보고 테이블을 선택하여 내용을 볼 수 있습니다.

실시간 쿼리

SQL 실행 옵션을 사용하여 쿼리를 실행하거나, 회의실을 사용 중인 경우 데이터베이스 검사기를 열고 앱을 실행하면 왼쪽의 실행 버튼을 클릭하여 인터페이스에서 DAO 쿼리를 실행할 수 있습니다.@Query 주석

live queries

이것이 당신이 찾고 있는 답은 아닐 수도 있지만, 저는 전화기에서 DB를 다운로드할 수 있는 더 나은 방법이 없습니다.제가 제안할 것은 당신이 이 미니 DDMS를 사용하고 있는지 확인하는 것입니다. 프로그램의 맨 아래 왼쪽에 있는 아주 작은 캠코더 상자를 클릭하지 않으면 매우 숨겨질 것입니다.(그 위를 맴돌지 않으면 놓칠 수 있습니다.)

또한 필터 없음을 나타내는 드롭다운(오른쪽 위)도 표시됩니다.PPID, 이름 등을 기준으로 다양한 프로세스/앱을 모니터링할 수 있는 다양한 방법이 있습니다.저는 항상 이것을 전화기를 모니터링하는 데 사용했지만, 데이터베이스가 비정상적으로 작동하지 않는다는 것을 120% 긍정적으로 생각해야 하는 유형의 개발 작업을 수행하고 있지 않습니다.

도움이 되길 바랍니다.

enter image description here

이 프로세스의 유닉스 명령줄 자동화를 구성하고 코드를 여기에 넣었습니다.

https://github.com/elliptic1/Android-Sqlite3-Monitor

패키지 이름과 데이터베이스 이름을 매개 변수로 사용하고 연결된 Android 장치에서 데이터베이스 파일을 다운로드한 후 다운로드한 파일에 대해 사용자 지정 스크립트를 실행하는 셸 스크립트입니다.그런 다음 'watch'와 같은 유닉스 도구를 사용하여 데이터베이스 스크립트 출력을 주기적으로 업데이트하는 보기와 함께 터미널 창을 열 수 있습니다.

이것은 매우 오래된 질문이고 제 대답은 위의 일부 답변과 비슷하지만 훨씬 더 빨리 수행되었습니다.아래 스크립트는 Mac용이지만 Windows용으로 수정할 수 있는 사람이 있을 것입니다.

Mac에서 스크립트 편집기 열기(Spotlight에서 스크립트 편집기만 검색할 수 있음)
아래 텍스트를 복사하여 붙여넣고 SDK 경로, 패키지 이름 등으로 수정합니다(아래 참조).
스크립트 저장!!

바로 그거야!상단의 재생 버튼을 누르면 바탕 화면에 업데이트된 데이터베이스 파일을 얻을 수 있습니다.

아래 스크립트에서 다음 항목을 대체합니다.

path_to_my_sk ==> sdk에 전체 경로를 지정합니다.
my_package_name ==> 응용 프로그램의 패키지 이름
myDbName.db ==> 데이터베이스의 파일 이름

set getLocalDb to "path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases && path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases/myDbName.db && path_to_my_sdk/platform-tools/adb shell run-as my_package_name cp databases/myDbName.db /sdcard/myDbName.db && path_to_my_sdk/platform-tools/adb pull /sdcard/myDbName.db /Users/User/Desktop/myDbName.db"
do shell script getLocalDb

이것이 누군가에게 도움이 되기를 바랍니다.

저는 그 질문이 다소 오래된 것이라는 것을 알지만, 이 문제는 여전히 존재한다고 믿습니다.

브라우저에서 데이터베이스 보기

저는 당신이 당신의 안드로이드 앱 프로젝트에 lib로 통합할 수 있는 개발 도구를 만들었습니다.이 도구는 웹 브라우저를 통해 통신하기 위해 앱의 서버 소켓을 엽니다.전체 데이터베이스를 검색하고 브라우저를 통해 직접 데이터베이스 파일을 다운로드할 수 있습니다.

enter image description here

통합은 jitpack을 통해 수행할 수 있습니다.io:

project build.gradle:

//...
allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
//...

app build.gradle:

//...
dependencies {
    //...
    debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
    //...
}
//...

응용 프로그램 클래스 설정

특정 빌드 유형 또는 제품 맛으로만 DebugGhostLib를 컴파일하려면 특수 맛으로 파생될 추상 응용 프로그램 클래스가 필요합니다.여러분의 다클래를당안넣오시에 .main(으)로 표시)java>your.app.package):

public class AbstractDebugGhostExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Do your general application stuff
    }
}

유형 맛 다음 를 " " " " " " " " " " " " " " " 에 합니다.release product-product-product) ( (으)ㄹ 수도 ) 아래에 있습니다java>your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

DebugGhostLib를 참조하지 않는 응용 프로그램 클래스입니다.

또한 당신에게 말합니다.AndroidManifest.xml사용자 자신의 애플리케이션 클래스를 사용하고 있습니다. 작업은 귀하의 에서 됩니다.main폴더:

<manifest package="demo.app.android.sanid.com.debugghostexample" xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- permissions go here -->
    <application android:name=".MyApp"> <!-- register your own application class -->
        <!-- your activities go here -->
    </application>
</manifest>

유형 버전 다음 를 "" " " " " " " " 에 합니다.debug product-product-product) ( (으)ㄹ 수도 ) 아래에 있습니다java>your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    private DebugGhostBridge mDebugGhostBridge;

    @Override
    public void onCreate() {
        super.onCreate();

        mDebugGhostBridge = new DebugGhostBridge(this, MyDatabaseHelper.DATABASE_NAME, MyDatabaseHelper.DATABASE_VERSION);
        mDebugGhostBridge.startDebugGhost();
    }
}

여기서 도구를 얻을 수 있습니다.

전화기에서 PC로 데이터베이스를 가져와야 했습니다.지금은 많은 기능이 있는 아주 잘 만들어진 무료 앱을 사용하고 있습니다.은 니다합동에서 합니다.API 4.1+Rooted 장치를 사용합니다.
뿌리 없이 작동할 수 있는 방법을 찾으면 알려주세요.

Screenshot SqlitePrime

https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime

Android Studio 하단에 있는 Device File Explorer 터미널을 엽니다.

데이터라는 폴더를 연 다음 데이터 내부에서 폴더 데이터를 다시 엽니다.

Open the folder data

폴더 목록을 아래로 스크롤하여 your.package.name 에서 폴더를 찾습니다.your.package.name > Database 폴더를 엽니다..databaseName이 표시됩니다..databaseName을 마우스 오른쪽 버튼으로 클릭하고 C:/your/Computer/Directory에 저장합니다.

C:/your/Computer/Directory로 이동하여 DB SQLite.databaseName 열기

enter image description here

Android Studio 3.X의 경우

  1. 보기 -> 도구 창 -> 장치 파일 탐색기
  2. 파일 탐색기 데이터->데이터->com.(응용 프로그램 패키지)->클라이언트
  3. 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 로컬 컴퓨터에 저장합니다.SQLite Studio에서 데이터베이스 파일을 드래그하여 열 수 있는 파일입니다.

다음은 SQLite Studio 링크입니다. https://sqlitestudio.pl/index.rvt?act=download

마지막으로 Android Studio는 데이터베이스 관리자 탭에서 이 기능을 지원합니다.보기/업데이트/쿼리 작업을 쉽게 적용할 수 있습니다.현재는 안정적인 채널은 아니지만 안드로이드 스튜디오 4.1 카나리아 5 이상으로 사용해볼 수 있습니다.

여기에서 데이터베이스 검사자의 상태를 확인할 수 있습니다.

여기에서 적절한 버전을 다운로드할 수 있습니다.

서버 측 데이터베이스와 같은 Android SQLite 사용

아래 나열된 다음 단계를 수행합니다.

  1. Database 도구 창을 찾아 아래 이미지처럼 클릭합니다.

enter image description here

  1. 더하기 아이콘을 클릭하고 아래 이미지와 같은 Android SQLite를 선택합니다.

enter image description here

  1. Android 장치를 컴퓨터에 연결

  2. 원하는 패키지를 선택하고 아래 이미지와 같은 데이터베이스를 선택합니다.

  3. 위의 모든 단계를 수행하기 전에 /data/data//database/databasefile.db 파일에 액세스할 수 있는 권한이 있는지 확인해야 합니다.

이러한 모든 단계를 거치면 다음과 같은 데이터베이스 내용이 표시됩니다.

enter image description here

enter image description here

마지막으로 중요한 것은

데이터베이스 데이터가 업데이트될 때마다 업데이트 아이콘을 클릭해야 합니다.

enter image description here

이것이 당신을 위한 일이기를 바랍니다!감사해요!

Android Studio에는 버전 4.1부터 데이터베이스 검사기가 번들로 제공됩니다.

하지만 한 가지 제한이 있습니다.

Database Inspector는 API 레벨 26 이상의 Android 운영 체제에 포함된 SQLite 라이브러리에서만 작동합니다.앱과 함께 번들로 제공되는 다른 SQLite 라이브러리에서는 작동하지 않습니다.

왜 이 해결책이 여기에 언급되지 않았는지 궁금합니다!

...Android Studio 4.1 이상 버전에서는...

1.Run your app on an emulator or connected device running API level 26 or higher.

2.Select View > Tool Windows > Database Inspector from the menu bar.

3.Select the running app process from the dropdown menu.

4.The databases in the currently running app appear in the Databases pane. Expand the node for the database that you want to inspect.

enter image description here

Arctic fox Studio에서 아래쪽 도구 모음에 "App Inspection"으로 위치합니다.

app inspection

저는 윈도우 7을 사용하고 있으며, 제 장치는 에뮬레이트된 안드로이드 장치 API 23입니다.루트가 있고 API가 23을 넘지 않는 한 실제 장치에도 동일하다고 생각합니다.

도구 -> Android -> Android 장치 모니터로 이동합니다.파일 탐색기로 이동합니다.저의 경우 데이터/데이터//app_webview/데이터베이스/file_0/1에 있습니다.

이름이 "1"인 파일의 끝에 .db를 수동으로 추가해야 합니다.

다른 답변과 플러스의 조합입니다.

  1. SQLite용 DB Browser 설치
  2. MyBase.db에 대한 장치 파일 탐색기에서 "/data/data/com"과 같은 정확한 위치를 가져옵니다.what.myapp/데이터베이스/MyBase.db"
  3. Android에서 Project로 프로젝트 창 설정 - 파일(build.gradle, gradle.properties 등)을 볼 수 있습니다.
  4. 프로젝트 창에서 마우스 오른쪽 단추를 클릭하고 터미널에서 열기를 선택합니다.
  5. 터미널에서 이제 하드 디스크에서 응용 프로그램의 루트 디렉터리로 이동하므로 실행하십시오. adb pull /data/data/com.what.myapp/데이터베이스/MyBase.db
  6. 이제 Android Studio의 Project 창에 "MyBase.db" 파일이 있습니다.
  7. Project에서 DB 파일을 두 번 클릭하면 DB Browser에서 데이터베이스를 검색/편집할 수 있습니다.
  8. 준비가 되었으면 DB Browser에서 변경사항 쓰기를 수행하여 데이터베이스를 하드 디스크에 저장합니다.
  9. 터미널에서 명령어 adb를 사용하여 MyBase.db /data/data/com을 누릅니다.hardisk에서 편집한 데이터베이스를 장치로 전송하기만 하면 되는 whating.myapp/databases/MyBase.db.

언급URL : https://stackoverflow.com/questions/17529766/view-contents-of-database-file-in-android-studio

반응형