태그 보관물: android-sqlite

android-sqlite

Android 기기에서 데이터 / 데이터 폴더에 액세스하는 방법은 무엇입니까? 할 수 있습니다 하지만 안드로이드 폰에서이 파일에

앱을 개발 중이며 데이터베이스 *.dbdata/data/com.****.***

sqlite manager의 도움으로 Eclipse의 AVD 에서이 파일에 액세스 할 수 있습니다

하지만 안드로이드 폰에서이 파일에 액세스 할 수 없습니다.
나는 그것을 구글하고 그것을 내 전화를 근절해야한다고 말하지만 그것을하고 싶지 않습니다. (새 전화, 보증 문제 및 보안 문제)

그래서 내 질문은 : data/data/.....루팅하지 않고 “안드로이드 폰의 디렉토리에 어떻게 접근 할 수 있습니까?

data/data.....루팅하지 않고 디렉토리에 대한 사용자 권한을 변경할 수 있습니까 ?



답변

휴대 전화에서 직접 파일에 액세스하는 것은 어렵지만 원하는 작업을 수행 할 수있는 컴퓨터로 파일을 복사 할 수 있습니다. 응원하지 않으면 두 가지 옵션이 있습니다.

  1. 응용 프로그램을 디버깅 할 수있는 경우 run-asadb 쉘 에서 명령을 사용할 수 있습니다

    adb shell
    run-as com.your.packagename
    cp /data/data/com.your.packagename/
  2. 또는 안드로이드의 백업 기능을 사용할 수 있습니다.

    adb backup -noapk com.your.packagename

    이제 ‘장치 잠금을 해제하고 백업 작업을 확인하십시오’라는 메시지가 표시됩니다. 암호를 제공하지 않는 것이 가장 좋습니다. 그렇지 않으면 데이터를 읽기가 더 어려워집니다. ‘데이터 백업’을 클릭하십시오. 컴퓨터의 결과 ‘backup.ab’파일에는 Android 백업 형식의 모든 응용 프로그램 데이터가 포함됩니다. 기본적으로 압축 된 tar 파일입니다. 이 페이지 는 OpenSSL의 zlib 명령을 사용하여 압축을 해제하는 방법을 설명합니다. adb restore backup.db명령을 사용 하여 백업을 복원 할 수 있습니다 .


답변

Android Studio 3.0 이상 버전을 사용중인 경우 다음 단계를 수행하십시오.

  1. 보기 > 도구 창 > 장치 파일 탐색기를 클릭하십시오 .
  2. / data / data / [package-name] 노드를 펼치십시오 .

루트가 아닌 장치에서 디버그 모드로 실행되는 패키지 만 확장 할 수 있습니다.


답변

루트 탐색기 앱을 사용하여 DB를 가져 오려고 시도 할 수도 있습니다. 그리고 그것이 작동하지 않으면 이것을 시도 할 수 있습니다 :

  1. cmd 열기
  2. 디렉토리를 변경하고 ‘플랫폼 도구’로 이동하십시오.
  3. adb shell‘ 입력
  4. su
  5. 기기에서 ‘허용’을 누르십시오
  6. chmod 777 /data /data/data /data/data/com.application.package /data/data/com.application.package/*
  7. Eclipse에서 DDMS보기를 열고 거기에서 ‘FileExplorer’를 열어 원하는 파일을 얻으십시오.

그런 다음 루팅 된 장치에서 파일을 찾아 볼 수 있습니다.


답변

위의 작업을 수행하려면 (예 : 휴대 전화 자체에서 보호 된 폴더에 액세스) 루트가 필요합니다. (/ data 폴더의 마운트 권한 변경 및 액세스 포함)

루트가 없으면 코드를 통해 응용 프로그램 내에서 제외하고/data 직접 읽을 수 없습니다. 따라서 해당 파일을 sdcard 또는 복사 가능한 곳에 복사 한 다음 정상적으로 액세스 할 수 있어야합니다.

개발자 기기가있는 경우 응원이 보증을 무효화하지 않습니다. 죄송합니다. AFAIK에는 다른 방법이 없습니다.


답변

/data/data/package.name/databases/file루팅되지 않은 Android 5.0 이상 기기 의 디버깅 가능한 응용 프로그램 폴더에서 파일을 가져 오는 가장 쉬운 방법 (단순한 단계) 은 다음 명령을 사용하는 것입니다.

adb exec-out run-as package.name cat databases/file > file

답변

  1. 명령 프롬프트를 엽니 다
  2. 디렉토리를 E : \ Android \ adt-bundle-windows-x86_64-20140702 \ adt-bundle-windows-x86_64-20140702 \ sdk \ platform-tools로 변경하십시오.
  3. 아래 명령을 입력하십시오
  4. adb -d shell
  5. run-as com.your.packagename cat databases/database.db > /sdcard/database.db
  6. 존재 cd /sdcard하도록 디렉토리를 변경 하십시오 database.db.
  7. adb pull /sdcard/database.db 또는 단순히 device에서 database.db를 복사 할 수 있습니다.

답변

일식에서 파일 탐색기를 사용하십시오. Windows =>보기 표시 => 기타 … => 파일 탐색기를 선택하십시오.

다른 방법은 adb를 통해 파일을 가져 오는 것입니다.

adb pull /system/data/data/<yourpackagename>/databases/<databasename> /sdcard