해결 방법 : "선택을 푸시하지 못했습니다 : 메모리 부족"


11

Stack overflow 로 기사를 만듭니다 . 그러나이 사이트를 찾은 후에도 여전히 귀하의 도움이 필요하기 때문에 동일한 질문을하기로 결정했습니다.

다음 단계를 수행했습니다.

  1. 이클립스 시작
  2. 이동 : 창-> 관점 열기-> 기타 ...
  3. 열린 대화 상자에서 DDMS 를 선택하십시오
  4. " 파일 탐색기 "탭을 선택 하십시오.
  5. " 파일을 장치에 푸시 "를 누르고 푸시 하려는 라이브러리를 선택하십시오.

    선택을 푸시하지 못했습니다 : 읽기 전용 파일 시스템

  6. 열려있는 모든 창을 최소화하고 명령 줄을 엽니 다.
  7. 쓰기 : cd C : \ android \ android-sdk-windows \ platform-tools enter
  8. 쓰기 : abd remount enter

    성공적으로 다시 마운트됩니다

  9. Eclipse를 최대화하고 5 단계를 시도하십시오.

    선택을 푸시하지 못했습니다 : 메모리 부족

오류가 나타납니다! 이 문제를 해결하기 위해해야 ​​할 일 ... 도와주세요.

추가

1) ADB SHELL MOUNT를 쓸 때 :

rootfs / rootfs ro 0 0 
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0 
none /acct cgroup rw,cpuacct 0 0 
tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0 
tmpfs /mnt/obb tmpfs rw,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 rw 0 0 
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/vold/179:0 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0 
/dev/block/vold/179:0 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,size=0k,mode=000 0 0

2) 쉘 프롬프트는 다음으로 시작합니다.


2
FAQ 에 따라 개발 관련 질문은 주제를 벗어난 것으로 간주됩니다 .
사용자

나는 "Eclipse"라는 단어를 읽었으므로 이것을 닫기로 투표했지만 이제는 게시물의 나머지 부분과 연결된 게시물을 읽었으므로 응용 프로그램을 개발하는 동안 얻을 수있는 질문의 좋은 예라고 생각하기 시작했습니다. 실제로 개발 질문이 아닙니다. 나는 가까운 투표를 철회 할 수 없지만, 다른 사람들에게 너무 가까운 투표를하지 말라고 경고 할 수 있습니다.
거짓말 라이언

나는 이것이 회색 영역이라는 @Lie에 동의합니다. 나는 이것이 지금 열려 있어야한다고 말합니다.
ale

@ViTo Brothers Apoyan : 두 가지 질문이 있습니다. 1) 수행 할 때 어떤 결과가 발생합니까 adb shell mount(장치에 마운트 된 모든 파일 시스템과 마운트 옵션이 제공됩니까)? 2) 할 때 adb shell쉘 프롬프트가 #(루트임을 나타냄) 또는 $(루트가 아님을 나타냄)으로 시작합니까?
거짓말 라이언

또한 당신은 android-x86, android-x86 ! = x86 호스트 컴퓨터에서 실행되는 android emulator 태그 로이 질문에 태그를 달았습니다 . 실제로 android-x86 또는 일반 에뮬레이터를 사용하고 있습니까?
거짓말 라이언

답변:


12

옵션을 /system사용하여 파티션 크기를 지정할 수 있도록 명령 행에서 에뮬레이터를 시작하십시오 -partition-size <MB>. 예를 들어, 이것을 사용 /system하여 512MB 의 파티션으로 Android 1.6을 실행하는 에뮬레이터를 시작합니다 .

emulator -avd Donut -partition-size 512

"여기에서"도넛 "은 AVD라는 이름입니다 (필요한 경우 Eclipse의 AVD 관리자에서 확인할 수 있음). emulator진은에 있어야 tools/것으로 보인다 당신을위한 SDK 내에 설치 디렉토리, C:\android\android-sdk-windows\tools확신을 할 수, cd먼저 해당 디렉토리에 (또는 시스템의에 추가 %Path%).

Eclipse는 에뮬레이터를 즉시 가져 오지 않거나 인식하고 연결을 끊을 수 있습니다. 이 중 하나가 발생하면 장치 탭의보기 메뉴 (최소화 버튼 옆에있는 작은 화살표)를 클릭하고 "초기화 재설정"을 선택하여 다시 연결하십시오.

장치에 표시되면 이전에 수행했던 작업을 수행하십시오. 실행 adb remount하여 /system파티션을 읽기 / 쓰기 모드로 전환 한 다음 Eclipse를 사용하여 원하는 위치로 파일을 푸시하십시오. 1 분 전에 몇 개의 임의 파일을 테스트했으며 /system/xbin아무 문제없이 파일을 푸시 할 수있었습니다 .

참고로, /system512MB 파티션을 지정할 때 파티션 크기와 내 도넛 에뮬레이터에서의 사용은 다음과 같습니다.

> adb shell df
...
/system: 508416K total, 61332K used, 447084K available (block size 4096)
...

그러나 크기를 지정하지 않고 시작하면 모양이 다음과 같습니다.

> adb shell df
...
/system: 65536K total, 61204K used, 4332K available (block size 4096)
...

또한 원하는 경우 Eclipse를 통해 애플리케이션의 실행 구성에서 명령 행 옵션을 설정할 수 있습니다. Java Perspective로 이동 한 후 Run->Run Configurations메뉴 표시 줄에서 선택하십시오 . 왼쪽 창에서 응용 프로그램을 선택한 다음 "대상"탭을 선택하십시오. 맨 아래에는 "추가 에뮬레이터 명령 줄 옵션" -partition-size <MBs>이라는 텍스트 상자가 있으며 해당 텍스트 상자에 추가 하여 응용 프로그램을 실행할 때 시작된 에뮬레이터가 더 큰 /system파티션 을 갖도록 할 수 있습니다 .

참고 : -no-snapstorage기존 스냅 샷로드를 비활성화하려면 명령 줄에 다른 옵션 을 추가해야 할 수도 있습니다 . 나를 위해 그것 없이는 작동하지 않았습니다.


매우 일치 감사합니다! 당신은 내 문제를 해결! 고마워 !!!!!!!
ViTo Brothers Apoyan

0

쉬운 방법 : 시스템을 마운트하는 것보다 복구 모드에서 전화를 다시 시작하십시오. 이제 문제없이 파일을 푸시 할 수 있습니다.


나는 당신이 /dev/block/mtdblock0 /system yaffs2 rw 0 0질문 의 줄 을 놓쳤다 고 가정 합니까? 복구에서 마운트 할 때 무엇이 ​​바뀌어야합니까? 전체가 가득 찼습니다. "다른 곳에서"마운트하여 전체 파일 시스템에서 추가 공간을 확보 할 수 없습니다.
Izzy

-2

해결 방법 : "선택을 푸시하지 못했습니다 : 메모리 부족"

SD CARD 탭에서 새 Android 가상 장치 (AVD)를 만드는 동안 MB 단위의 값 (100)을 입력하십시오.

정말, 그것은 나를 위해 작동합니다!


1
이것은 정확하지 않습니다. 가상 SD 카드를 만들면 /system질문에 따라 파일을 파티션으로 푸시 할 수 없습니다 . 그들은 완전히 관련이없는 저장 영역입니다.
eldarerathis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.