안드로이드의 /system
파티션은 기본적으로 read only로 설정되어있습니다.
이것을 writable로 변경하려면 emulator를 실행할 때 옵션을 writable로 설정하면됩니다.
안드로이드 스튜디오에서 AVD manager
로 실행할 때는 옵션을 줄 수 없어, shell command로 실행해야 합니다.
에뮬레이터 avd 리스트
미리 안드로이드 스튜디오에서 avd manager로 적절한 안드로이드 avd를 설치합니다. 그리고 shell에서 다음 명령어를 입력하면 설치된 avd list를 볼 수 있습니다.
$ emulator -list-avds
Pixel_2_API_P
Pixel_API_P
emulator실행이 안된다면 PATH가 잘 설정되어있는지 확인이 필요합니다. Sdk 안에 emulator가 포함되어있으니 아래처럼 설정하시면 됩니다.
ANDROID_HOME='..../Android/Sdk'
PATH=$PATH:$ANDROID_HOME/emulator
에뮬레이터를 writable로 실행
아래 명령어를 입력하면 PixelAPIP가 writable로 실행됩니다.
다른 옵션들은 AOSP 메뉴얼에 소개된 기본 옵션들이고 system 파티션을 writable로 변경하는 옵션은 -writable-system
입니다.
$ emulator @Pixel_API_P -netdelay none -netspeed full -writable-system
더 많은 옵션을 보시려면 명령어로 에뮬레이터 실행하기를 참고해주세요.
실행 중에 ANDROID_SDK_ROOT
가 설정되지 않았다는 에러 메시지가 나오면 아래처럼 $ANDROID_HOME
과 동일한 패스를 설정하시면 됩니다.
export ANDROID_SDK_ROOT=$ANDROID_HOME
실행한다고 system 파티션이 writable로 설정되지 않습니다. 아래 명령어로 remount해야 writable로 변경됩니다.
$ adb reboot
$ adb remount
참고
Recommended Posts:
- AIDEGen으로 IDE에서 Android Framework 개발
- Android - adb shell input 명령어 사용 방법
- Android - App VersionCode, VersionName 등 설치 정보 확인
- Android - Call Stack 출력하는 방법
- Android 앱의 SQLite DB 테이블 확인
- Java 코드를 DEX로 변환, 안드로이드 디바이스에서 실행
- Android - adb로 실행 중인 프로세스, 쓰레드 리스트 & 메모리 정보 확인
- Android - PlayStore 앱 설치(다운로드) 화면으로 이동하는 방법
- Android - 파일의 MimeType(확장자) 가져오는 방법
- Mockito cannot mock/spy final class 에러 해결 방법
- Android Studio에서 Google Test로 C++ unit 테스트 작성
- Android - Native(C++)에서 Call stack 출력하는 방법
- Android Emulator에서 adb remount 하는 방법 (Writable)