안드로이드 콘솔에서 adb shell 패키지 접근 권한 Permission denied 에러 해결

 

환경: Android Studio

 

앱에서 만든 DB 에 접근하기 adb shell 을 실행했습니다. adb shell 에서 DB 를 실행하기 위해서는 패키지의 databases 폴더로 접속해야 합니다. 그런데 Permission denied 에러가 발생했습니다. 문제를 해결하기 위해서 루트 권한을 얻지 않아도 됩니다. run-as 옵션을 사용하면 해당 패키지로 접속할 수 있습니다.

 

그림처럼 adb shell 에서 개발중인 패키지로 접속했는데 Permission denied 가 발생했습니다. 이 문제를 해결하기 위해서는 run-as 옵션이 필요합니다.

안드로이드 콘솔에서 adb shell 패키지 접근 권한 Permission denied 에러 해결

 

run-as [패키지명] 으로 실행하면 adb root 권한이 필요없으며 지정한 앱이 명령을 실행한 것처럼 명령 실행이 가능합니다

안드로이드 콘솔에서 adb shell 패키지 접근 권한 Permission denied 에러 해결

 

패키지에 명령 실행이 가능한 상태를 만들고 ls 명령어를 실행해 보세요. 이전과 달리 Permission denied 가 아닌 폴더 목록이 나타납니다

안드로이드 콘솔에서 adb shell 패키지 접근 권한 Permission denied 에러 해결

 

이제 databases 폴더로 들어가서 SQLite3 를 이용해서 데이터베이스에 접근해 보세요

안드로이드 콘솔에서 adb shell 패키지 접근 권한 Permission denied 에러 해결

Posted by 녹두장군