質問

When creating a new Android 4.4 Virtual Device using the AVD Manager, I cannot get the internal storage to be anything larger than 200MB.

512MB is the internal storage size I would like to set.

I've tried:

  • Setting the internal storage of the device in the AVD Manager to 512MB.
  • In Eclipse project Debug Configurations, under the Target tab, setting Additional Emulator Command Line Options to -partition-size 512.
  • In the Eclipse Preferences, under Android, I set the Default emulator options to -partition-size 512.
  • Editing the config file for my virtual device under (User)/.android/avd/(device).avd/config.ini
    • Then setting disk.dataPartition.size to disk.dataPartition.size=512M
    • Also tried setting it to disk.dataPartition.size=512MB
    • Also tried setting it to data.dataPartition.size=512M

This happens on both ARM and Intel Atom x86 CPUs.

Now when I switch over to Android 3.0 (ARM), I can resize it simply using the AVD Manager to my hearts content. Is there an issue with Android 4.4? Is there something I missed? Or a possible work around?

役に立ちましたか?

解決

Now that the emulator file system is ext4 I was able to re-size the userdata.img using standard Linux tools.

# Navigate to AVD
cd ~/.android/avd/Nexus5
# Delete old image
rm userdata-qemu.*
# Re-size the image
resize2fs userdata.img 512M
# Start the emulator and enjoy
emulator @Nexus5

Edit I was also able to re-size userdata-qemu.img directly but I had to run e2fsck first.

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

他のヒント

Even above suggestion can cause to android emulator hang on boot logo. The reason is that resize2fs do the changes thats are right in general but considered as broken fs by android and prevent it to mount it in rw mode, that hangs up the boot process.

Examening boot logs shows something like that:

EXT4-fs error (device mtdblock1): ext4_mb_generate_buddy:741: group 2, 32366 clusters in bitmap, 32370 in gd

Event e2fsck does not fix it for android and to workaround it i use tune2fs to change the way how android should continue to mount broken fs.

tune2fs -e continue userdata-qemu.img

Someone13, this is definitely a Bug in Target: "Android 4.4.2 - API Level 19"

I have the same problem- can’t change the size of internal storage of the device in emulator of Android SDK by no way(even with “disk.dataPartition.size=xxxM” in config.ini or with command-prompt arguments “-partition-size xxx”) when using Android 4.4.2 in the Emulator of Android SDK.

The only way is to set custom size is when using as Target: Android 3.0 - API Level 11.

My hardware: Windows 7 Ultimate SP1, RAM 4GB; Core Duo 2.28GHz; GT630

If you are still having this issue in 2016, try deleting the image from AVD manager, and then add back the emulator.

It seemed like I could not resize the emulator no matter what I do, but it worked when I deleted the image and then recreated image with 1GB internal storage.

I was able to create this virtual device, maybe change your device type or something?

enter image description here

To build up on @Frohnzie's answer, resize2fs and e2fsck are now included in the SDK Tools (you may need to update your SDK tools to see them) so you don't need to install them separately. They are located under yourAndroidSDKFolder/tools/bin (Windows, Linux) or yourAndroidSDKFolder/tools/bin64 (Mac, Linux).

Assaf G.'s answer is good. But i have noticed in the following links in the first one user is able to create Emulator with internal storage 500MB. But he is getting some exceptions but not related to internal storage. And in the other link user able to create emulator with internal memory 4096MB. But he is facing speed problems. So i think you have to try with specifications provided in first link.

1.Android 4.4 Emulator

2.android emulator forever launching

For me it was an issue when I accidentally chose the AOSP 4.4.2 emulator in Android Studio. The Google Inc. x86 emulator (below) doesn't seem to have this bug.

enter image description here

delete /data/data/com.google.android.gms/files will release 200M+

Here, there seems to be some catch, in older android tools lower than version 22, this does not work. I upgraded the android tools to 23 and this started working.

My configuration was API Level 21 CPU: Intel X86 OS: Ubuntu Linux

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top