manywaypark's Blog
개발, 검색, 함수

기초:
기본적으로 /systemro(read-only)로 mount되므로 rw로 mount하기 위해 다시 마운트한다.
adb remount

문제:
adb push/system의 하위에 파일을 쓰려고 하면 다음과 같은 에러가 나면서 안된다.
error msg:
failed to copy 'foo.bar' to '/system/foo.bar': Out of memory


해결:
[Android SDK 설치 디렉토리]/platforms/android-[#target]/images/system.img 파일을 avd image가 있는 곳으로 복사한다.
보통은 ~(home)/.android/avd/[avd이름.avd] 아래에 있다.
또한 emulator 실행시에 system, data용으로 파티션을 잡아준다 (파티션을 안잡아도 상기 에러가 나는 것같다).
$ ./emulator -avd Android2.2 -partition-size 96

원인은 아마도 기본 SDK 설치 디렉토리의 이미지들은 변경이 불가한듯하다 (생각해보면 뭐 당연한 디자인이다).
난 AVD 생성시 모든 시스템이 통째로 다 생기는 줄 알고 있어서 한참을 헤맸던 것이다. Orz.

ref: http://forum.xda-developers.com/archive/index.php/t-880831.html

happy hackin'
 

댓글을 달아 주세요

  1. 초보  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 좋은 내용감사합니다.
    글 내용대로 하니 /system 파티션에 파일은 잘 넣어지는데, 이게 유지가 안됩니다.
    에뮬레이터를 종료했다가 다시 띄우면 넣은 파일이 없습니다.
    넣은게 계속 유지되게하려면 어떻게 해야 하나요?

    2013.07.28 16:02

분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 받은 트랙백

10-21 19:49