题
我对Android模拟器有一个奇怪的问题。我已经通过Android AVD Manager创建了一个虚拟设备(使用平台2.1和API级别7新创建的模拟器)。我已经尝试使用标准设置,并为较大(256 MB)的设备RAM大小提供了添加的硬件参数,但没有任何更改。
我需要将文件转到系统分区以测试一个项目(称为Haggle),但是由于某种原因,系统分区从启动开始没有空间。
aa a@aaa /home/haggle-0.2-android
$ adb -s emulator-5554 shell
# df
df
/dev: 47084K total, 0K used, 47084K available (block size 4096)
/sqlite_stmt_journals: 4096K total, 0K used, 4096K available (block size 4096)
/system: 73600K total, 73600K used, 0K available (block size 4096)
/data: 65536K total, 18464K used, 47072K available (block size 4096)
/cache: 65536K total, 1156K used, 64380K available (block size 4096)
如您所见,系统分区具有可用的0K空间。当A连接非根系HTC Nexus One并执行相同的操作时,我会得到这些值:
/dev: 108896K total, 0K used, 108896K available (block size 4096)
/sqlite_stmt_journals: 4096K total, 0K used, 4096K available (block size 4096)
/system: 148480K total, 116364K used, 32116K available (block size 4096)
/data: 200960K total, 22296K used, 178664K available (block size 4096)
/cache: 97280K total, 1852K used, 95428K available (block size 4096)
/sdcard: 3864064K total, 118496K used, 3745568K available (block size 32768)
为什么仿真器上的系统分区从头开始具有0K的自由空间,我该怎么办?即使我可以使用安装/remount编写分区,我也会得到相同的0k值。
有小费吗?
解决方案
找到答案:)
启动模拟器时,您可以通过-partition -size x emulator_name指定分区大小。
通过终端完成。例子:
emulator -partition-size 125 @AVD1
或者
emulator -partition-size 125 -avd AVD1
请注意,大小必须大于当前的系统分区尺寸。对于Android4.0.3模拟器,默认大小已经为168
其他提示
如今, -partition-size
更改 /系统 /数据分区,但没有更改 /系统分区空间。
例如,如果要安装完整的GAPP,则需要更多的空间。
在Unix中进行的一般程序记录在 https://unix.stackexchange.com/questions/104790/how-to-to-setup-a-growable-loopback-device
简而言之:
- 制作system.img的副本,以便您不修改SDK中的原始版本(
cp system.img system-extended.img
) - 成长你的
system-extended.img
达到您所需的尺寸(例如,truncate system-extended.img -s 2G
) - 调整内部Ext4文件系统的大小(
resizefs system-extended.img
或者resize2fs system-extended.img
) - 通过拨打模拟器的新IMG文件通过
-system <path/to/system-extended.img>
范围。这-writable-system
参数也可能会派上用场。
我发现了这个问题。这 SDK_MANAGER 文件夹位于我的D磁盘中的一个非标准字符目录(D:/ასერ/?dwe + joan/SKD_MANAGER
)这就是为什么它无法获得正确的分区尺寸。我将** sdk_manager*移至d:/** sdk_manager*,解决问题!
(因此,谁拥有错误消息,例如“无效的系统分区大小”或“ panick:无法打开Avd1”,这篇文章可能会有所帮助)