我试图在Kubuntu 17.04中为Jellybean(API 17)创建一个AVD,使用以下过程:
现在,由于Ubuntu17.04(及其衍生物)出现了一个不幸的问题,不可能通过单击其条目旁边的Play按钮直接启动模拟器。(点击它什么也不做。)相反,我必须从终端启动模拟器,其中包括:
$ cd ~/Android/Sdk/tools
$ LD_PRELOAD='/usr/$LIB/libstdc++.so.6' ./emulator -avd Nexus_4_API_17
模拟器启动,主屏幕出现:
然而,与它的互动立即揭示出一个问题。照相机显示一个错误:
单击“设置”应用程序中的“存储”会导致Settings应用程序崩溃。
我做错了什么,我怎么解决这个问题?
编辑:我点击了“显示高级设置”,并确认SD卡确实要创建:
我还确认了文件~/.android/avd/Nexus_4_API_17.avd/sdcard.img.qcow2
存在。
编辑:我遵循相同的过程创建一个Kit Kat AVD(使用Nexus 5硬件配置文件),问题是不是在那儿。SD卡正常工作。
编辑:我试着用mksdcard
要手动创建SD卡映像:
mksdcard -l TEST 100M sdcard.img
然后直接传递给模拟器:
emulator -sdcard sdcard.img -avd [...]
但这没什么区别
然而,在打开设备上的根终端后,我发现了一些有趣的东西(使用adb shell
)并运行mount
和df
命令:
# mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
tmpfs /mnt/secure tmpfs rw,relatime,mode=700 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
/dev/block/vda /system ext4 ro,relatime,data=ordered 0 0
/dev/block/vdb /cache ext4 rw,nosuid,nodev,noatime,errors=panic,data=ordered 0 0
/dev/block/vdc /data ext4 rw,nosuid,nodev,noatime,errors=panic,data=ordered 0 0
# df
Filesystem Size Used Free Blksize
/dev 757M 68K 757M 4096
/mnt/secure 757M 0K 757M 4096
/mnt/asec 757M 0K 757M 4096
/mnt/obb 757M 0K 757M 4096
/system 532M 349M 183M 4096
/cache 60M 40K 60M 4096
/data 1G 75M 1G 4096
似乎SD卡没有安装,因为/dev/block/vdd
在上面的输出中缺少,并且没有一个分区的容量为100 m。
发布于 2018-04-04 10:55:18
经过一些研究,我最终得到了一个答案:Jellybean太老了,不能在最近的仿真器上使用。
如果你想继续使用这个系统,同时也使用SD卡,这对你来说是一个不错的解决办法。
手动启动模拟器如下:
cd ~/Android/Sdk/emulator
LD_PRELOAD='/usr/$LIB/libstdc++.so.6' ./emulator @Nexus_4_API_17 -verbose -engine classic
发布于 2018-04-04 11:11:19
当创建一个AVD时,可以说是否要模仿sdCard(以及大小)。看起来根本没有指定sdCard的存在。编辑您的AVD设置,并确保已经明确请求sdCard支持。
https://stackoverflow.com/questions/-100007957
复制相似问题