앱을 개발 중이며 데이터베이스 *.db
가data/data/com.****.***
sqlite manager의 도움으로 Eclipse의 AVD 에서이 파일에 액세스 할 수 있습니다
하지만 안드로이드 폰에서이 파일에 액세스 할 수 없습니다.
나는 그것을 구글하고 그것을 내 전화를 근절해야한다고 말하지만 그것을하고 싶지 않습니다. (새 전화, 보증 문제 및 보안 문제)
그래서 내 질문은 : data/data/.....
” 루팅하지 않고 “안드로이드 폰의 디렉토리에 어떻게 접근 할 수 있습니까?
data/data.....
루팅하지 않고 디렉토리에 대한 사용자 권한을 변경할 수 있습니까 ?
답변
휴대 전화에서 직접 파일에 액세스하는 것은 어렵지만 원하는 작업을 수행 할 수있는 컴퓨터로 파일을 복사 할 수 있습니다. 응원하지 않으면 두 가지 옵션이 있습니다.
-
응용 프로그램을 디버깅 할 수있는 경우
run-as
adb 쉘 에서 명령을 사용할 수 있습니다adb shell run-as com.your.packagename cp /data/data/com.your.packagename/
-
또는 안드로이드의 백업 기능을 사용할 수 있습니다.
adb backup -noapk com.your.packagename
이제 ‘장치 잠금을 해제하고 백업 작업을 확인하십시오’라는 메시지가 표시됩니다. 암호를 제공하지 않는 것이 가장 좋습니다. 그렇지 않으면 데이터를 읽기가 더 어려워집니다. ‘데이터 백업’을 클릭하십시오. 컴퓨터의 결과 ‘backup.ab’파일에는 Android 백업 형식의 모든 응용 프로그램 데이터가 포함됩니다. 기본적으로 압축 된 tar 파일입니다. 이 페이지 는 OpenSSL의 zlib 명령을 사용하여 압축을 해제하는 방법을 설명합니다.
adb restore backup.db
명령을 사용 하여 백업을 복원 할 수 있습니다 .
답변
Android Studio 3.0 이상 버전을 사용중인 경우 다음 단계를 수행하십시오.
- 보기 > 도구 창 > 장치 파일 탐색기를 클릭하십시오 .
- / data / data / [package-name] 노드를 펼치십시오 .
루트가 아닌 장치에서 디버그 모드로 실행되는 패키지 만 확장 할 수 있습니다.
답변
루트 탐색기 앱을 사용하여 DB를 가져 오려고 시도 할 수도 있습니다. 그리고 그것이 작동하지 않으면 이것을 시도 할 수 있습니다 :
- cmd 열기
- 디렉토리를 변경하고 ‘플랫폼 도구’로 이동하십시오.
- ‘
adb shell
‘ 입력 su
- 기기에서 ‘허용’을 누르십시오
chmod 777 /data /data/data /data/data/com.application.package /data/data/com.application.package/*
- 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
답변
- 명령 프롬프트를 엽니 다
- 디렉토리를 E : \ Android \ adt-bundle-windows-x86_64-20140702 \ adt-bundle-windows-x86_64-20140702 \ sdk \ platform-tools로 변경하십시오.
- 아래 명령을 입력하십시오
adb -d shell
run-as com.your.packagename cat databases/database.db > /sdcard/database.db
- 존재
cd /sdcard
하도록 디렉토리를 변경 하십시오database.db
. adb pull /sdcard/database.db
또는 단순히 device에서 database.db를 복사 할 수 있습니다.
답변
일식에서 파일 탐색기를 사용하십시오. Windows =>보기 표시 => 기타 … => 파일 탐색기를 선택하십시오.
다른 방법은 adb를 통해 파일을 가져 오는 것입니다.
adb pull /system/data/data/<yourpackagename>/databases/<databasename> /sdcard