45

使用 AVD 管理器创建新的 Android 4.4 虚拟设备时,我无法使内部存储空间大于 200MB。

512MB 是我要设置的内部存储大小。

我试过了:

  • 在 AVD Manager 中将设备的内部存储设置为 512MB。
  • 在 Eclipse 项目的 Debug Configurations 中,在 Target 选项卡下,将 Additional Emulator Command Line Options 设置为 -partition-size 512。
  • 在 Eclipse Preferences 的 Android 下,我将 Default emulator options 设置为 -partition-size 512。
  • 在 (User)/.android/avd/(device).avd/config.ini 下编辑我的虚拟设备的配置文件
    • 然后将disk.dataPartition.size设置为disk.dataPartition.size=512M
    • 还尝试将其设置为 disk.dataPartition.size=512MB
    • 还尝试将其设置为 data.dataPartition.size=512M

这发生在 ARM 和 Intel Atom x86 CPU 上。

现在,当我切换到 Android 3.0 (ARM) 时,我可以简单地使用 AVD 管理器来调整它的大小,让我心满意足。Android 4.4 有问题吗?有什么我错过的吗?或者可能的解决方法?

4

10 回答 10

57

userdata.img现在模拟器文件系统是 ext4,我可以使用标准 Linux 工具重新调整大小。

# 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

编辑 我也可以直接重新调整大小userdata-qemu.img,但我必须先运行e2fsck

 e2fsck -f userdata-qemu.img
 resize2fs userdata-qemu.img 512M
于 2013-12-24T14:14:19.353 回答
29

即使上述建议也可能导致 android 模拟器挂在启动徽标上。原因是 resize2fs 所做的更改通常是正确的,但被 android 认为是损坏的 fs 并阻止它以 rw 模式安装它,这会挂起启动过程。

检查引导日志会显示类似的内容:

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

事件 e2fsck 没有为 android 修复它,为了解决它,我使用 tune2fs 来改变 android 应该如何继续挂载损坏的 fs 的方式。

tune2fs -e continue userdata-qemu.img
于 2014-02-25T16:46:17.463 回答
5

某人13,这绝对是目标中的一个错误:“Android 4.4.2 - API Level 19”

我有同样的问题 - 无法在 Android SDK 的模拟器中更改设备的内部存储大小(即使在 config.ini 中使用“disk.dataPartition.size=xxxM”或使用命令提示符参数“- partition-size xxx”) 在 Android SDK 的 Emulator 中使用 Android 4.4.2 时。

设置自定义大小的唯一方法是在用作目标时:Android 3.0 - API Level 11。

我的硬件:Windows 7 Ultimate SP1,RAM 4GB;酷睿双核 2.28GHz;GT630

于 2014-05-10T07:48:14.720 回答
4

如果您在 2016 年仍然遇到此问题,请尝试从 AVD 管理器中删除图像,然后重新添加模拟器。

似乎无论我做什么都无法调整模拟器的大小,但是当我删除图像然后使用 1GB 内部存储重新创建图像时它起作用了。

于 2016-03-11T15:48:44.493 回答
1

我能够创建这个虚拟设备,也许改变你的设备类型或什么?

在此处输入图像描述

于 2013-12-23T20:26:37.173 回答
1

为了建立@Frohnzie 的答案,resize2fs 和 e2fsck 现在包含在SDK 工具中(您可能需要更新您的 SDK 工具才能看到它们),因此您不需要单独安装它们。它们位于您的AndroidSDKFolder /tools/bin(Windows、Linux)或您的AndroidSDKFolder /tools/bin64(Mac、Linux)下。

于 2016-01-18T11:23:05.987 回答
0

对我来说,当我不小心在 Android Studio 中选择了 AOSP 4.4.2 模拟器时,这是一个问题。Google Inc. x86 模拟器(如下)似乎没有这个错误。

在此处输入图像描述

于 2015-03-22T16:08:04.853 回答
0

Assaf G.的回答很好。但我在以下链接中注意到第一个用户能够Emulator使用内部存储 500MB创建。但他得到了一些与内部存储exceptions无关的东西。而在其他链接中,用户可以使用内部存储器进行创建。但他正面临速度问题。因此,我认为您必须尝试使用​​第一个链接中提供的规范。emulator 4096MB

1.安卓4.4模拟器

2.安卓模拟器永远启动

于 2013-12-24T11:54:04.613 回答
0

删除 /data/data/com.google.android.gms/files 将释放 200M+

于 2015-05-10T03:51:25.973 回答
0

在这里,似乎有一些问题,在低于 22 版的旧 android 工具中,这不起作用。我将android工具升级到23,这开始工作了。

我的配置是 API Level 21 CPU:Intel X86 操作系统:Ubuntu Linux

于 2016-03-19T13:16:00.287 回答