首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为Jellybean(API 17)创建工作AVD?

如何为Jellybean(API 17)创建工作AVD?
EN

Stack Overflow用户
提问于 2018-04-04 02:01:09
回答 2查看 0关注 0票数 0

我试图在Kubuntu 17.04中为Jellybean(API 17)创建一个AVD,使用以下过程:

  1. 从AndroidStudio启动AVD管理器
  2. 单击“创建虚拟设备”按钮:

  1. 选择Nexus 4硬件配置文件:

  1. 点击“下一步”
  2. 单击“x86 Image”选项卡,选择“JellBean/17/x86/Android4.2(带有GoogleAPI)”映像:

  1. 点击“下一步”
  2. 将设置保留在默认值:

  1. 点击“完成”

现在,由于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)并运行mountdf命令:

# 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。

EN

回答 2

Stack Overflow用户

发布于 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
票数 0
EN

Stack Overflow用户

发布于 2018-04-04 11:11:19

当创建一个AVD时,可以说是否要模仿sdCard(以及大小)。看起来根本没有指定sdCard的存在。编辑您的AVD设置,并确保已经明确请求sdCard支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档