안녕하세요. 오늘은 안드로이드 어플 개발하다가 발생한 문제에 대해 정리하고자 합니다. 별거는 아니구요. 에뮬레이터를 통해서 접속을 한 후, 데이터베이스 생성하는 예제를 하다가 발생한 문제인데요. 정말 알고 나면 별거 아닌것 같습니다. 다른 것들도 그렇지만요.


안드로이드 avd로 접속시 read-only file system 문구 발생


안드로이드 에뮬레이터를 생성하여, 접속을 했는데요. adb로 접속하여 데이터베이스 폴더를 만들고, 파일을 만들려고 하는데 read-only file system 이라는 문구가 발생했습니다.





이와 같은 에러는 permission denied와 같은 에러인데요. 원인이 동일합니다. 바로 sudo 권한이 없기 때문이지요. 그래서 아래와 같이 하시면 해결이 됩니다. 우선, 차례대로 진행해봅니다.



명령프롬프트(명령프롬프트 실행하는 방법)를 실행하여, adb가 설치된 안드로이드 SDK 기본 경로로 이동해야 합니다.






안드로이드를 설치한 경로에서 platform-tools 폴더 아래에 adb가 있거든요.

그러면 위 그림처럼 명령프롬프트 창에서 cd platform-tools를 입력하시고 엔터를 하면 해당 경로로 이동하게 되구요.





위 그림처럼 adb devices 로 연결된 스마트폰이든 AVD이든 존재하는지 확인부터 합니다. 그리고 하나만 존재한다면, 바로 adb shell로 접속하면 됩니다.




만약 연결된 디바이스가 두종류 이상이라면, 연결하고자 하는 것으로 shell명령을 내려야 하는데요. 이 부분은 아래 내용 참고하시기 바랍니다.



 




그러면 adb shell로 연결되면 ‘$’ 표시가 나옵니다.




위 그림을 보시면 아시겠지만, ls 명령어를 입력하면 Permission denied 라는 문구가 발생합니다. 그래서 권한 변경 모드를 시도해보겠지요.


chmod 777 /


그러나 마찬가지로 Read-only file system이라는 문구와 함께 권한 변경이 안될텐데요. 이럴 때에는 adb shell을 하고 나서, su 를 한번더 입력해야합니다.


결론




1.     adb devices

2.     adb shell

3.     su




를 입력하고 나면, 권한까지 획득하였기 때문에 폴더 생성이든지, 기타 파일 확인이라든지 ls명령어 같은 것들이 먹히게 됩니다. 참고하시기 바랍니다.



블로그 이미지

미네르바98

안드로이드와 영화 리뷰, 생활정보에 관한 내용을 기재합니다.

,