모바일 애플리케이션

[안드로이드] INSTALL_FAILED_INSUFFICIENT_STORAGE 해결

INSTALL_FAILED_INSUFFICIENT_STORAGE 문제

안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서 앱 설치에 실패하는 현상이 발생합니다.

Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
Running Gradle task 'assembleDebug'...

✓ Built build/app/outputs/flutter-apk/app-debug.apk
Installing build/app/outputs/flutter-apk/app-debug.apk...
Uninstalling old version...
Error: ADB exited with exit code 1
Performing Streamed Install

adb: failed to install /Users/user/MyProject/build/app/outputs/flutter-apk/app-debug.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE: Failed to override installation location]
Installing build/app/outputs/flutter-apk/app-debug.apk...
Error: ADB exited with exit code 1
Performing Streamed Install

adb: failed to install /Users/user/MyProject/build/app/outputs/flutter-apk/app-debug.apk: Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE: Failed to override installation location]
Error: Failed to install APK again.
Error launching application on sdk gphone64 arm64.

위 에러 메시지에서 표시되는 주요 문제는 ‘INSTALL_FAILED_INSUFFICIENT_STORAGE‘ 라고 표시된 부분입니다. 무슨 이유로 이러한 문제가 발생하는 것일까요?

이 문제는 사실 코드상에서 잘못 작성하여 발생하는 오류 보다는 에뮬레이터 기기에서 발생하는 문제라고 볼 수 있습니다. 에러 메시지 내용대로 에뮬레이터의 스토리지(저장장치)와 관련하여 문제가 발생하였기 때문에 설치에 실패한 것입니다.

가장 큰 원인은 에뮬레이터에 할당된 최대 저장 공간이 너무 작다는 것입니다. 일반적으로 에뮬레이터를 생성하면 작게는 2GB 정도의 작은 공간만 할당하려 합니다.

해결 방법

먼저 저장 공간을 늘리지 않고 해결하는 방법이 있습니다. 먼저 안드로이드 스튜디오에서 ‘Tools – Device Manager’ (AVD Manager)를 열고 실행하려는 에뮬레이터의 설정에서 더보기 아이콘을 클릭한 후 ‘Wipe Data’를 선택하여 기본 데이터를 제외한 데이터들을 모두 초기화하는 방법입니다. 설치했거나 다운로드받은 앱과 데이터를 모두 삭제하고 초기 이미지 상태로 되돌리며, 열려있는 에뮬레이터의 재부팅이 필요할 수 있습니다.

그래도 더 많은 저장 공간이 필요하다면 이미 만든 에뮬레이터의 설정을 변경하여 기존 저장 공간을 늘릴 수 있습니다.

이번에도 ‘Tools – Device Manager’ (AVD Manager)를 엽니다. 변경하려는 에뮬레이터에서 더보기 아이콘을 클릭한 후 ‘Edit’을 클릭합니다.

이제 해당 에뮬레이터의 설정을 변경할 수 있습니다. 여기서 왼쪽 하단의 ‘Show Advanced Settings’를 클릭하여 전체 설정이 보이도록 합니다.

하단으로 스크롤을 내리다보면 ‘Memory and Storage’ 항목에 ‘Internal Storage’ 부분이 보일 것입니다. 이 것이 내장 저장 공간 용량이며 이 값을 늘려 저장 공간을 여유롭게 설정할 수 있습니다. 필요한 경우 SD Card(외장 저장 공간)의 저장 공간을 수정할 수도 있습니다.

수정을 완료했다면 우측 하단의 ‘Finish’를 눌러 적용합니다. 적용 후 에뮬레이터가 열려있다면 종료 후 다시 시작해야 합니다.

이제 다시 애플리케이션을 빌드하여 설치하면 해당 문제가 해결 될 것입니다.

JooTC

안녕하세요. 테크놀로지에 관심이 많은 블로거입니다.

Recent Posts

[iOS] Xcode ‘You do not have required contracts to perform an operation’ 해결

Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…

1개월 ago

Zalgo 텍스트와 이를 방지하는 방법

인터넷 커뮤니티 사이트에서 게시글이나 댓글에 간혹 장난을 목적으로 작성된 특이한 글자를 볼 수 있습니다. 위…

9개월 ago

리눅스 kill, killall 명령어 – 특정 프로세스 종료하기

리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…

9개월 ago

JavaScript typeof null이 ‘object’인 이유

JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…

9개월 ago

Mocha Error: Resolution method is overspecified. 해결 방법

NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…

9개월 ago

윈도우 11 설치 시 Microsoft 계정 로그인 없이 로컬 계정 만들기

언제부턴가 윈도우 11을 처음 설치할 때 마이크로소프트(Microsoft) 계정 로그인을 강제로 요구하게 되었습니다. 물론 마이크로소프트 계정이…

1년 ago