使用AVD Manager创建新的Android 4.4虚拟设备时,我无法让内部存储空间大于200MB。
512MB是我想设置的内部存储空间。
我试过了:
在ARM和Intel Atom x86 CPU上都会发生这种情况。
现在当我切换到Android 3.0(ARM)时,我可以简单地使用AVD Manager来调整它的内容。 Android 4.4有问题吗?我错过了什么吗?或者可能的解决方法?
答案 0 :(得分:54)
现在仿真器文件系统是ext4,我能够使用标准Linux工具重新调整userdata.img
的大小。
# 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
答案 1 :(得分:29)
即使上面的建议也可能导致Android模拟器挂起启动徽标。原因是resize2fs执行的修改通常是正确的,但被android认为是破坏的fs,并阻止它以rw模式挂载,这会挂起启动过程。
Examening boot logs显示如下内容:
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
答案 2 :(得分:5)
有人13,这绝对是Target中的一个Bug:“Android 4.4.2 - API Level 19”
我遇到同样的问题 - 无法在Android SDK的模拟器中更改设备内部存储的大小(即使在config.ini中使用“disk.dataPartition.size = xxxM”或使用命令提示符也是如此)在Android SDK的模拟器中使用Android 4.4.2时参数“-partition-size xxx”。
唯一的方法是在使用Target时设置自定义大小:Android 3.0 - API Level 11。
我的硬件:Windows 7 Ultimate SP1,RAM 4GB; Core Duo 2.28GHz; GT630
答案 3 :(得分:4)
如果您在2016年仍然遇到此问题,请尝试从AVD管理器中删除图像,然后重新添加模拟器。
无论我做什么,似乎都无法调整模拟器的大小,但是当我删除图像然后使用1GB内部存储重新创建图像时,它仍然有效。
答案 4 :(得分:1)
我能够创建这个虚拟设备,可能会更改您的设备类型或什么?
答案 5 :(得分:1)
为了建立@ Frohnzie的答案,resize2fs和e2fsck现已包含在SDK Tools中(您可能需要更新SDK工具才能看到它们),因此您不需要单独安装它们。它们位于 yourAndroidSDKFolder / tools / bin(Windows,Linux)或 yourAndroidSDKFolder / tools / bin64(Mac,Linux)下。
答案 6 :(得分:0)
Assaf G。答案很好。但我注意到在第一个用户中的以下链接中,用户可以使用内部存储 Emulator
创建500MB
。但他得到了一些exceptions
但与内部存储无关。
在另一个能够使用内部内存 emulator
创建4096MB
的链接用户。但他正面临速度问题。所以我认为您必须尝试使用第一个链接中提供的规范。
答案 7 :(得分:0)
对我而言,当我在Android Studio中意外选择AOSP 4.4.2模拟器时,这是一个问题。 Google Inc. x86模拟器(如下所示)似乎没有此错误。
答案 8 :(得分:0)
删除/data/data/com.google.android.gms/files将发布200M +
答案 9 :(得分:0)
在这里,似乎有一些问题,在较旧的Android工具低于22版本,这不起作用。我将android工具升级到23,这开始工作了。
我的配置是 API等级21 CPU:Intel X86 操作系统:Ubuntu Linux