223

I get this sometimes(not often) for one of my projects, couple of classes only
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

How do I increase emulator's storage?

Pentium10
  • 204,586
  • 122
  • 423
  • 502
  • 2
    I see this error quite often, even when the device being installed to has plenty of storage. Just keep in mind that sometimes when you see the error, what the error message says isn't actually true. – Lance Nanek Jun 05 '10 at 17:56
  • 1
    @Pentinum10 i am getting the same error on both 1.5 and 2.2 , checkout this question where your help required: http://stackoverflow.com/questions/3584297/error-in-installation-of-an-application-on-sd-card-in-android-sdk-2-2 , please help me and catch me out – Paresh Mayani Aug 28 '10 at 06:52

23 Answers23

224

On Android Studio

Open the AVD Manager.

enter image description here

Click Edit Icon to edit the AVD.

enter image description here

Click Show Advanced settings.

enter image description here

Change the Internal Storage, Ram, SD Card size as necessary. Click Finish.

enter image description here

Confirm the popup by clicking yes.

enter image description here

Wipe Data on the AVD and confirm the popup by clicking yes.

enter image description here

Important: After increasing the size, if it doesn't automatically ask you to wipe data, you have to do it manually by opening the AVD's pull-down menu and choosing Wipe Data.

enter image description here

Now start and use your Emulator with increased storage.

Community
  • 1
  • 1
Cijo
  • 2,726
  • 1
  • 14
  • 24
  • 9
    Changing "Internal Storage" does nothing for me, before or after creating the AVD. It always comes up with 300MB and a low space warning. – Travis Christian Mar 15 '16 at 15:06
  • 7
    Have you wiped the data from drop down menu in AVD manager once you changed the size. – Cijo Mar 15 '16 at 16:32
  • 1
    I already deleted the AVD, but it was happening with newly configured un-launched images too. I found in another question that it's an issue with certain APIs <23. – Travis Christian Mar 15 '16 at 17:30
  • OMG - thank you for this! It's the only solution that I found that worked! – SammyK Aug 04 '17 at 13:51
  • 3
    This should be the accepted answer, and the first to appear (not legacy Eclipse related answers). It's not enough to change the size and start the emulator (even when using _Cold Boot Now_). The key seems to be the **Wipe Data** command. Thanks! – TechAurelian Mar 30 '18 at 09:08
  • For anyone who can't find the Wipe Data on newer AVD versions, you'll see it after you click the down arrow in the Actions column in AVD. I didn't get an automatic prompt to wipe data when changing the internal storage only. – Liron Yahdav May 30 '18 at 18:09
  • I added a step to the answer to manually wipe data if it doesn't ask you automatically. Thanks @Cijo for the answer and to all for the helpful comments. – Gary Sheppard Feb 01 '19 at 16:44
  • I changed internal, RAM and heap storage but I was forced to invalid cache and restart to take effect. – Parisa Baastani Nov 18 '20 at 06:36
  • Wipe data is very important step, still in 2022 with Bumblebee – Akbolat SSS Jan 28 '22 at 08:38
  • 1
    I have broken my head, when I tried to find the "Memory and storage" part in the Advanced settings :)) I had to scroll down to see the settings! – neronovs Aug 03 '22 at 11:42
  • Yes. There is no visible scroll bar but you can scroll after clicking after settings! – Stephen Oct 20 '22 at 16:16
141

Update

This answer is, as I write this, nearly eight years old, and about five years stale. But it's still (as I write this) the "accepted" answer, because it answered the question when it was asked.

The newer answer, that applies to the newer Android Studio tools, can be found here: https://stackoverflow.com/a/35828035/62 -- it's a great answer with screen shots. If you're using Android Studio, ignore the Eclipse answer below.

Original Eclipse-based Answer

I was searching for the answer to this question, and was unsatisfied with the above answers. But then I found the answer, so here it is for future reference:

To summarize (and clarify), in Eclipse, go to "Debug Configurations". You can find that in the drop-down under the "debug" icon. Select "target", and select a preferred emulator target to launch. Then under "additional emulator command line options," add this:

-partition-size 1024

Then CLOSE the emulator (and remove any devices), and click the debug icon, which will launch the preferred emulator you selected. This is important: Eclipse needs to launch the debugger, not AVD.

That fixed the problem for me.

SomeCallMeTim
  • 4,503
  • 2
  • 28
  • 27
  • 8
    Note that the "partition-size" is in megabytes, and that generally to install an APK you need at least twice as much disk space as the size of the APK. – Christopher Orr Dec 26 '10 at 17:11
  • 5
    Another note to make: You must right click on the project you want to run in eclipse -> Run->Run Configuration->Select Project->Target ->scroll down->add -partition-size 1024 to additional Em options-> then run the project from eclipse – SpoiledTechie.com Apr 27 '11 at 16:48
  • You gave the solution for Eclipse, but the question was not about a particular emulator. – Sean Jun 30 '15 at 16:33
  • @Sean I gave the solution for Eclipse because that was the predominant development environment in use at the time (five years ago!). The -partition-size option is an emulator option, so find out how to add the option to whatever IDE you ARE using, or alternately, launch the emulator from the command line yourself. – SomeCallMeTim Jul 01 '15 at 17:13
  • 1
    For anyone looking at this accepted answer years later like I did, you probably want to look at https://stackoverflow.com/a/35828035/62 instead. – Liron Yahdav May 30 '18 at 18:09
  • `-partition-size: invalid option` – user25 Jun 10 '18 at 08:07
  • @user25 Look at the other answers. This one is at least 5 years stale. – SomeCallMeTim Jun 11 '18 at 19:43
  • I disagree that this should be accepted because it answered the question at the time. If someone opened a new question asking the same thing now, it would be closed as a duplicate. The accepted answer should reflect the answer to the question now, not when it was asked – Adam Burley Jan 25 '23 at 14:51
48

Add the following to the avd config.ini

disk.dataPartition.size=1024MB

Let me know if this works for you also.

I added in the line Add Data Partition Size Configuration
Screen Shot of AVD Storage Space being increased

john.da.costa
  • 4,682
  • 4
  • 29
  • 30
  • Didn't work for me on a 2.3 image. I still only see 128MB of internal storage available for apps. – mxk Mar 29 '12 at 10:17
  • 1
    I noticed that in the "Edit" UI of AVD Manager, trying to set this value manually will always reset it to 0. Perhaps a related issue? Maybe it's not supposed to be set on some versions of Android? – mxk Mar 29 '12 at 11:47
  • 2
    You have to enter a value like, `1024MB` when using the AVD Manager. You can't just enter `1024` Took a little while to figure that out, and I have confirmed this works – Ronnie Aug 28 '12 at 20:18
27

Run AVD Manager

Select your AVD and click "Details..." button.

In my case AVD Manager sets disk size as

disk.dataPartition.size=4000M

This invalid value, disk is approx 500MB despite numbers specified.

Go to AVR's folder by path in "AVD details".

Edit it in config.ini to

disk.dataPartition.size=4000MB

and remove all .img files.

Proggear
  • 662
  • 6
  • 10
16

Just start emulator by command line as follow:

emulator -avd <your avd name> -partition-size 1024 -wipe-data
binhgreat
  • 982
  • 8
  • 13
10

I was doing an install of an apk:

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

And I was getting an error message telling me that

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

was too big. Using the sdk tools from r15, and ADT 15 I was able to use the AVD manager to manipulate some of my existing emulator's settings:

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

then going to the Hardware properties window just below "Skin:" I was able to select with the Hardware: New button 'Ideal size of partition'. I was not, however, able to set the value other than to '0'. Undaunted, I went to my ${HOME}/.android/avd directory There was a 'MyVm.avd' directory. Going into that directory I found a 'config.ini' file. There was the entry :

disk.dataPartition.size=0

I set this to:

disk.dataPartition.size=1024

.. then went back to the AVD Manager, selected MyVm, selected 'Start', opted to wipe user data win the dialog following, and was able to run and install.

sth
  • 222,467
  • 53
  • 283
  • 367
billiam
  • 109
  • 1
  • 2
  • It worked last time fine but today I had to write `disk.dataPartition.size=1024MB`, since `1024` and `1024m` weren't working. – Sufian Jun 27 '13 at 06:04
6

If you have the M1 Mac and the preview version of Android Emulator, then you'll need to go to /Applications/Android Emulator.app/Contents/MacOS/api30-gphone-arm64-v8a/config.ini (as an example) and change the disk.dataPartition.size property to your desired size.

something like this: enter image description here

The reference is in the GitHub repo.

Best regards.

Andres Paladines
  • 1,142
  • 14
  • 19
  • No such file(s) exists despite having several emulators installed (M1 Pro Macbook). Only file in `/Applications/Android Studio.app/Contents/MacOS/` is the `studio` binary. – Benji Aug 29 '22 at 13:44
  • 1
    Hello @Benji This was only for the preview emulator. Now you can create arm64-v8a emulators from Android Studio without any problem in an M1 :) – Andres Paladines Aug 30 '22 at 18:35
6

avd manager has an option "ideal size of system partition", try setting that to 1024MB, or use the commandline launch option that does the same.

fyi, I only encountered this problem with the 4.0 emulator image.

Lassi Kinnunen
  • 448
  • 4
  • 10
4

you need to increase virtual memory of emulator

How to increase virtual memory of emulator

emulator -avd "Emulator Name" -partition-size 2024

after then try to install your apk

Nirav Ranpara
  • 13,753
  • 3
  • 39
  • 54
4

this problem comes with android 1.5 .. try 2.0 or 2.1 or 2.2

Pentium10
  • 204,586
  • 122
  • 423
  • 502
Vishal Khakhkhar
  • 2,106
  • 3
  • 29
  • 60
4

To resize the storage of the Android emulator in Linux:

1) install qemu

2) Locate the directory containing the img files of the virtual machine. Something like ~/.android/avd/.avd and cd to it.

3) Resize the ext4 images: i.e. for growing from 500Mb to 4Gb execute

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

4) grow the filesystem:

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

5) For the sd card image, optional: rescue the data:

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

6) resize the image from 100Mb to Gb:

qemu-img resize sdcard.img +3.9GB

7) re-generate the filesystem:

mkfs.vfat sdcard.img

8) optional: restore the old data:

mount -o loop sdcard.img 1
cp -a 2/* 1
mount -o loop sdcard.img 1 
user3099887
  • 161
  • 2
  • 10
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
animuson
  • 53,861
  • 28
  • 137
  • 147
2

I'm a beginner, but I had that problem while playing around with the "Hello Grid View". I was trying to use my own photos, which were all very large in file size.

The quick fix was to reduce the number of photos, thus reducing the size of the APK file.

But, I guess my follow up question for anybody else who hits this thread is this: How do I attach large files like JPGs and MP3s to an app and make sure they save on the SD Card so the APK remains small?

  • 2
    I think I found the answer here: http://developer.android.com/guide/topics/resources/index.html Try using "assets" instead of "resources" for any large elements. From the page: Resources are an integral part of an Android application. In general, these are external elements that you want to include and reference within your application, like images, audio, video, text strings, layouts, themes, etc. Every Android application contains a directory for resources (res/) and a directory for assets (assets/). –  Feb 20 '10 at 13:20
2

Update your settings in AVD Manager and start the device by enabling 'Wipe user data'. This worked for me.

vinu
  • 51
  • 2
  • 1
    In the new AVD interface, right-click on emulator line, then select wipe user data after you change the internal storage. – Tiago Jan 09 '16 at 20:38
1

I guess you should restart the emulator with "emulator -wipe-data -avd YourAvdName" or check "Wipe User Data" in run configuration if you are using Eclipse.

General Grievance
  • 4,555
  • 31
  • 31
  • 45
Roman Shestakov
  • 163
  • 1
  • 9
0

The only time I've seen this happen it was when the host filesystem was basically out of space. Do you have much free space on the filesystem where the VM's filesystem is stored?

Jeremy Logan
  • 47,151
  • 38
  • 123
  • 143
0

It is defenetly not a appropriate answer, but it is a small hint.

If you want to make use of static files in your App. You should put them as resources or as assets. But, if U have memory concerns like to keep your APK small, then you need to change your App design in such a way that,

instead of putting them as resources, while running your App(after installation) you can take the files(defenately different files as user may not keep files what you need) from SD Card. For this U can use ContentResolver to take audio, Image files on user selection.

With this you can give the user another feature like he can load audio/image files to the app on his own choice.

Andhravaala
  • 319
  • 6
  • 18
0

you can start the one when selecting one item from the left tree "virtual device" in AVD manager dialog on the platform of eclipse, the start UI has the option "Wipe User Data"

Jone
  • 1
0

The following approach worked for me

  1. Navigate to your android SDK/tools folder in the terminal window (in case you didn't added the path for it)

  2. Make sure the virtual device you're planning to clean is powered off.

  3. Run the command "./emulator -wipe-data -avd YourAvdName" where YourAvdName is the name of your virtual android device

Anton
  • 1,183
  • 10
  • 19
0

I am using VSCode and my AVD setup is from an older Android Studio setup that I had not used for a while.

I was able to fix this issue by finding the location where the AVD Images are located and then searching for files that had the text

disk.dataPartition.size

Run a find . -name "avd*" and a grep "disk" * once you find the directory for the AVD.

Modifying the disk.dataPartition.size value in the hardware-qemu.ini file worked for me.

Pratik Mandrekar
  • 9,362
  • 4
  • 45
  • 65
0

The problem can be solved by changing your partition size of emulator.

Go to the your \Android\Sdk\emulator path and type the following command.

emulator -avd android_emulator_name -partition-size 1500 -wipe-data

Now it will work , you have increased the size of your partition size. You can observe the change in size by using the following command before and after running the above command.

adb shell df
rahul goyal
  • 125
  • 2
  • 8
0

I'm using bitrise and I increased internal space by passing the parameter '-partition-size 2047' in the AVD step (only if you're using cli)

Example:

/home/user/Android/Sdk/emulator/emulator "@Pixel_6_API_31" "-verbose" "-show-kernel" "-no-audio" "-netdelay" "none" "-no-snapshot" "-wipe-data" "-gpu" "auto" "-no-window" "-no-boot-anim" "-camera-back" "none" "-camera-front" "none" "-partition-size" "2047"

-3

Try choosing project -> clean. A simple clean may fix it up.

Peter O.
  • 32,158
  • 14
  • 82
  • 96