안드로이드 개발
안드로이드 콘솔에서 adb shell 패키지 접근 권한 Permission denied 에러 해결
녹두장군1
2024. 4. 11. 12:31
반응형
앱에서 만든 DB 에 접근하기 adb shell 을 실행했습니다. adb shell 에서 DB 를 실행하기 위해서는 패키지의 databases 폴더로 접속해야 합니다. 그런데 Permission denied 에러가 발생했습니다. 문제를 해결하기 위해서 루트 권한을 얻지 않아도 됩니다. run-as 옵션을 사용하면 해당 패키지로 접속할 수 있습니다.

▼ 그림처럼 adb shell 에서 개발중인 패키지로 접속했는데 Permission denied 가 발생했습니다. 이 문제를 해결하기 위해서는 run-as 옵션이 필요합니다.
▼ run-as [패키지명] 으로 실행하면 adb root 권한이 필요없으며 지정한 앱이 명령을 실행한 것처럼 명령 실행이 가능합니다.
▼ 패키지에 명령 실행이 가능한 상태를 만들고 ls 명령어를 실행해 보세요. 이전과 달리 Permission denied 가 아닌 폴더 목록이 나타납니다.
▼ 이제 databases 폴더로 들어가서 SQLite3 를 이용해서 데이터베이스에 접근해 보세요.
반응형