Android 에뮬레이터의 스토리지를 늘리는 방법은 무엇입니까? (INSTALL_FAILED_INSUFFICIENT_STORAGE)


152

내 프로젝트 중 하나, 때로는 몇 클래스에서만이 (때로는 그렇지 않습니다)
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

에뮬레이터의 스토리지를 늘리려면 어떻게해야합니까?


2
설치하는 장치에 충분한 저장 공간이 있어도이 오류가 자주 발생합니다. 때로는 오류가 표시 될 때 오류 메시지에 나오는 내용이 실제로 사실이 아님을 명심하십시오.
랜스 나 넥크

1
: Pentinum10 @ 난 당신의 도움이 필요합니다이 질문에 체크 아웃, 1.5 및 2.2 모두 같은 오류를 얻고있다 stackoverflow.com/questions/3584297/...을 도와 줘요, 나를 날을 잡아
Paresh Mayani을

답변:


127

최신 정보

이 답은 제가 쓴대로 거의 8 살이었고 5 년이 오래되었습니다. 그러나 질문을 받았을 때 질문에 대답했기 때문에 여전히 "허용 된"답변 입니다.

최신 Android Studio 도구에 적용되는 최신 답변은 여기 ( https://stackoverflow.com/a/35828035/62) 에서 확인할 수 있습니다 . Android Studio를 사용하는 경우 아래 Eclipse 답변을 무시하십시오.

원래 이클립스 기반 답변

이 질문에 대한 답을 찾고 있는데 위의 답변에 만족하지 못했습니다. 그러나 그 대답을 찾았 으므로 나중에 참조 할 수 있습니다.

요약하면 Eclipse에서 "디버그 구성"으로 이동하십시오. "디버그"아이콘 아래 드롭 다운에서 찾을 수 있습니다. "target"을 선택하고 실행할 기본 에뮬레이터 대상을 선택하십시오. 그런 다음 "추가 에뮬레이터 명령 행 옵션"에서 다음을 추가하십시오.

파티션 크기 1024

그런 다음 에뮬레이터를 닫고 장치를 제거한 다음 디버그 아이콘을 클릭하면 선택한 기본 에뮬레이터가 시작됩니다. 중요 : Eclipse는 AVD가 아닌 디버거를 시작해야합니다.

그로 인해 문제가 해결되었습니다.


8
"파티션 크기"는 MB 단위이며 일반적으로 APK를 설치하려면 APK 크기보다 최소 두 배의 디스크 공간이 필요합니다.
Christopher Orr

5
또 다른 참고 사항 : Eclipse에서 실행하려는 프로젝트를 마우스 오른쪽 버튼으로 클릭해야합니다-> 실행-> 구성 실행-> 프로젝트 선택-> 대상 선택-> 아래로 스크롤-> 추가 파티션 옵션-> 파티션 크기 1024 추가-> 그런 다음 일식에서 프로젝트를 실행
SpoiledTechie.com

4
Google은 Android 3.2 또는 4.0에 대해 명시적인 속성 매개 변수를 추가해야합니다. 망할 이클립스 AVD 플러그인 수정
peter_pilgrim

좋은 발견 ... 실제로 ADT 툴링을 통해 노출되어야합니다. ICS 에뮬레이터에는 기본적으로 60MB 만 있습니다! 상자 밖으로 물건에 APK를 설치할 수 없습니다.
ddewaele

1
몇 년 후 나처럼 받아 들여진 대답을 보는 사람이라면 아마도 stackoverflow.com/a/35828035/62 를보고 싶을 것입니다.
Liron Yahdav

90

Android Studio에서

AVD 관리자를 엽니 다.

여기에 이미지 설명을 입력하십시오

아이콘 편집을 클릭하여 AVD를 편집하십시오.

여기에 이미지 설명을 입력하십시오

고급 설정 표시를 클릭하십시오.

여기에 이미지 설명을 입력하십시오

필요에 따라 Internal Storage, Ram, SD 카드 크기를 변경하십시오. Finish를 클릭하십시오.

여기에 이미지 설명을 입력하십시오

예를 클릭하여 팝업을 확인하십시오.

여기에 이미지 설명을 입력하십시오

AVD에서 데이터를 지우고 예를 클릭하여 팝업을 확인하십시오.

여기에 이미지 설명을 입력하십시오

중요 : 크기를 늘린 후 자동으로 데이터 지우기를 요청하지 않으면 AVD의 풀다운 메뉴를 열고 데이터 지우기를 선택하여 수동으로 수행해야합니다.

여기에 이미지 설명을 입력하십시오

이제 스토리지를 늘리고 에뮬레이터를 시작하고 사용하십시오.


7
"내부 저장소"를 변경하면 AVD를 만들기 전이나 후에 나에게 아무런 영향을 미치지 않습니다. 항상 300MB 및 공간 부족 경고가 표시됩니다.
Travis Christian

3
크기를 변경 한 후 AVD 관리자의 드롭 다운 메뉴에서 데이터를 삭제 했습니까?
Cijo

1
이미 AVD를 삭제했지만 새로 구성된 시작되지 않은 이미지에서도 발생했습니다. 다른 질문에서 특정 API <23의 문제라는 것을 알았습니다.
Travis Christian

세상에-고마워요! 내가 찾은 유일한 솔루션입니다!
SammyK

2
이것은 허용되는 답변이어야하며 첫 번째로 표시되어야합니다 (레거시 Eclipse 관련 답변 아님). 크기를 변경하고 에뮬레이터를 시작하는 것만으로는 충분하지 않습니다 ( Cold Boot Now를 사용하는 경우에도 ). 열쇠는 데이터 지우기 명령 인 것 같습니다 . 감사!
Alex Vang

42

avd config.ini에 다음을 추가하십시오.

disk.dataPartition.size=1024MB

이것이 당신에게도 효과가 있는지 알려주세요.

나는 라인에 추가 데이터 파티션 크기 구성 추가
AVD 저장 공간의 스크린 샷 증가


2.3 이미지에서 작동하지 않았습니다. 여전히 앱에 사용할 수있는 128MB의 내부 저장소 만 보입니다.
Matthias

1
AVD Manager의 "편집"UI에서이 값을 수동으로 설정하면 항상 0으로 재설정됩니다. 아마도 관련 문제가 있습니까? 어쩌면 일부 안드로이드 버전에서는 설정되어 있지 않을까요?
Matthias

2
1024MBAVD Manager를 사용할 때 와 같은 값을 입력해야합니다 . 당신은 1024그것을 알아 내기 위해 잠시 동안 Took을 입력 할 수 없으며 , 나는이 작품을 확인했습니다
Ronnie

19

AVD 관리자 실행

AVD를 선택하고 "세부 사항 ..."단추를 클릭하십시오.

필자의 경우 AVD Manager는 디스크 크기를

disk.dataPartition.size=4000M

유효하지 않은 값인 디스크는 숫자가 지정되었지만 약 500MB입니다.

"AVD 세부 사항"에서 경로별로 AVR 폴더로 이동하십시오.

config.ini에서 편집하여

disk.dataPartition.size=4000MB

모든 .img 파일을 제거하십시오.


2
선택한 답변이어야합니다. 현재 버전의 Android Studio (3.0.1)에서는 Google Play 지원 AVD를 실행중인 경우 편집 설정 속성이 회색으로 표시됩니다. 이것은 효과가 있었다. 400M에서 테스트 장치를 2000MB로 변경하고 모든 * .img 및 * .qcow2 파일을 삭제했습니다. AVD에서 데이터를 삭제했습니다. 그런 다음 부팅하여 2000MB의 스토리지가있었습니다.
MLindsay

@MLindsay 동의합니다
mwa91

참고로, * .img 또는 다른 파일을 삭제할 필요가 없습니다. config.ini에서 값을 변경하면 충분합니다.
Mohib Sheth

감사! 내 사건을 해결했다.
android_dev

10

나는 apk를 설치하고 있었다 :

adb install /home/me/jones_android-arm.apk

그리고 나에게 오류 메시지가 나타납니다.

/data/local/tmp/jones_android-arm.apk

너무 컸다. r15 및 ADT 15의 SDK 도구를 사용하여 AVD 관리자를 사용하여 기존 에뮬레이터의 일부 설정을 조작 할 수있었습니다.

Window-> AVD Manager -> (select you virtual machine) -> Edit

그런 다음 "Skin :"바로 아래의 하드웨어 속성 창으로 이동하여 하드웨어 : 새 버튼 '파티션의 이상적인 크기'를 사용하여 선택할 수있었습니다. 그러나 '0'이외의 값을 설정할 수 없었습니다. Undaunted, 나는 내 $ {HOME} /. android / avd 디렉토리로 갔다. 'MyVm.avd'디렉토리가 있었다. 해당 디렉토리로 이동하여 'config.ini'파일을 찾았습니다. 항목이 있었다 :

disk.dataPartition.size=0

나는 이것을 다음과 같이 설정했다.

disk.dataPartition.size=1024

.. 그런 다음 AVD 관리자로 돌아가서 MyVm을 선택하고 '시작'을 선택하고 다음 대화 상자에서 사용자 데이터를 지우도록 선택하여 실행하고 설치할 수있었습니다.


그것은 마지막으로 벌금을 일하지만 오늘은 쓰기로했다 disk.dataPartition.size=1024MB, 이후 10241024m작동되지 않았다.
Sufian

6

avd 관리자에는 "이상적인 시스템 파티션 크기"옵션이 있으며, 1024MB로 설정하거나 동일한 명령 줄 실행 옵션을 사용하십시오.

참고로, 4.0 에뮬레이터 이미지에서만이 문제가 발생했습니다.


여기도 마찬가지입니다. 그렇게하면 스냅 샷이 아닌 클린 상태에서 에뮬레이터를 다시 시작해야합니다.
Manfred Moser

6

다음과 같이 명령 행으로 에뮬레이터를 시작하십시오.

emulator -avd <your avd name> -partition-size 1024 -wipe-data


3
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.junkfoodian"
android:installLocation="preferExternal"   // this line can work for  Installation error:            //                                             // INSTALL_FAILED_INSUFFICIENT_STORAGE

왜 이것이 투표에 실패했는지 잘 모르겠습니다. :)
Robert

3

Linux에서 Android 에뮬레이터의 스토리지 크기를 조정하려면 다음을 수행하십시오.

1) qemu 설치

2) 가상 시스템의 img 파일이 포함 된 디렉토리를 찾으십시오. ~ / .android / avd / .avd 및 cd와 같은 것이 있습니다.

3) ext4 이미지 크기 조정 : 500Mb에서 4Gb로 증가

qemu-img resize userdata.img +3.5GB
qemu-img resize userdata-qemu.img +3.5GB

4) 파일 시스템을 확장하십시오.

e2fsck -f userdata.img
resize2fs userdata.img
e2fsck -f userdata-qemu.img
resize2fs userdata-qemu.img

5) sd 카드 이미지의 경우 옵션 : 데이터를 구출하십시오.

mkdir 1
mount -o loop sdcard.img 1
cp -a 1 2
umount 1

6) 100Mb에서 Gb로 이미지 크기를 조정하십시오.

qemu-img resize sdcard.img +3.9GB

7) 파일 시스템을 다시 생성하십시오 :

mkfs.vfat sdcard.img

8) 선택 사항 : 이전 데이터를 복원하십시오.

mount -o loop sdcard.img 1
cp -a 2/* 1
mount -o loop sdcard.img 1 

2

저는 초보자이지만 "Hello Grid View"를 가지고 놀면서 그 문제가있었습니다. 파일 크기가 매우 큰 내 사진을 사용하려고했습니다.

빠른 수정은 사진 수를 줄이고 APK 파일의 크기를 줄이는 것이 었습니다.

그러나이 스레드에 부딪친 다른 사람에 대한 후속 질문은 다음과 같습니다 .JPG 및 MP3와 같은 큰 파일을 앱에 첨부하고 SD 카드에 저장하여 APK가 작게 유지되도록하려면 어떻게해야합니까?


2
: 나는 여기에 답을 찾은 것 같아 developer.android.com/guide/topics/resources/index.html 어떤 큰 요소 "자산"대신 "자원"을 사용해보십시오. 페이지에서 : 리소스는 Android 애플리케이션의 필수 부분입니다. 일반적으로 이들은 이미지, 오디오, 비디오, 텍스트 문자열, 레이아웃, 테마 등과 같이 애플리케이션 내에 포함하고 참조하려는 외부 요소입니다. 모든 Android 애플리케이션에는 자원 디렉토리 (res /) 및 디렉토리가 있습니다. 자산 (자산 /).

2

에뮬레이터의 가상 메모리를 늘려야합니다.

에뮬레이터의 가상 메모리를 늘리는 방법

에뮬레이터 -avd "에뮬레이터 이름"-파티션 크기 2024

그런 다음 APK를 설치하려고


2

AVD Manager에서 설정을 업데이트하고 '사용자 데이터 지우기'를 활성화하여 장치를 시작하십시오. 이것은 나를 위해 일했습니다.


1
새 AVD 인터페이스에서 에뮬레이터 라인을 마우스 오른쪽 단추로 클릭 한 다음 내부 저장소를 변경 한 후 사용자 데이터 지우기를 선택하십시오.
Tiago Zortéa De Conto

1

Eclipse를 사용하는 경우 "emulator -wipe-data -avd YourAvdName"으로 에뮬레이터를 다시 시작하거나 실행 구성에서 "사용자 데이터 지우기"를 확인해야합니다.

나는 지금 같은 문제에 직면하고있다.


0

내가 이것을 본 유일한 시간은 호스트 파일 시스템이 기본적으로 공간이 부족했을 때였습니다. VM의 파일 시스템이 저장된 파일 시스템에 여유 공간이 있습니까?


13GB의 하드 디스크 여유 공간이 충분합니다.
Pentium10

0

그것은 적절한 대답은 아니지만, 작은 힌트입니다.

앱에서 정적 파일을 사용하려는 경우 자원이나 자산으로 배치해야합니다. 그러나 U가 APK를 작게 유지하는 것과 같은 메모리 문제가있는 경우 앱 디자인을 다음과 같이 변경해야합니다.

응용 프로그램을 실행하는 동안 (설치 후) 리소스로 두는 대신 SD 카드에서 파일을 가져올 수 있습니다 (사용자가 필요한 파일을 보관하지 않을 수 있으므로 파일이 다를 수 있습니다). 이를 위해 U는 ContentResolver를 사용하여 사용자가 선택한 오디오, 이미지 파일을 가져올 수 있습니다.

이를 통해 사용자가 원하는대로 오디오 / 이미지 파일을 앱에로드 할 수있는 것과 같은 다른 기능을 사용자에게 제공 할 수 있습니다.


0

Eclipse 플랫폼의 AVD 관리자 대화 상자에서 왼쪽 트리 "가상 장치"에서 하나의 항목을 선택할 때 항목을 시작할 수 있습니다. 시작 UI에는 "사용자 데이터 지우기"옵션이 있습니다.


0

다음 접근법이 나를 위해 일했습니다.

  1. 터미널 창에서 안드로이드 SDK / tools 폴더로 이동하십시오 (경로를 추가하지 않은 경우)

  2. 정리하려는 가상 장치의 전원이 꺼져 있는지 확인하십시오.

  3. "./emulator -wipe-data -avd YourAvdName"명령을 실행하십시오. 여기서 YourAvdName은 가상 안드로이드 장치의 이름입니다.


-2

프로젝트-> 정리를 선택하십시오. 간단한 청소로 문제를 해결할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.