无法使用Android 4.0.3版本创建模拟器。

10

我需要使用Android版本4.0.3测试我的Android应用程序,但我无法创建具有此Android版本的模拟器。 请查看以下屏幕截图以获取更多详细信息:

安装的Android 4.0.3 Intel x86系统镜像: 已安装的Android 4.0.3 Intel x86系统镜像

在选择系统映像时没有4.0.3版本选项: 在选择系统映像时没有4.0.3版本选项

已尝试以下方法,但没有成功:

  1. 重新启动Android Studio
  2. 将x86文件夹从system-images/android-15/default移动到system-images/android-15文件夹中

我该如何解决这个问题?

编辑:

按照BrentM的建议,我尝试使用Android命令行工具创建它。 它已成功创建,但当我尝试从Android Studio编辑它时,它会给出错误:指定的图像文件必须是有效的图像文件

系统中图像文件的地址:/Android/Sdk/system-images/android-15/x86

屏幕截图: 输入图像描述

5个回答

2

在高级设置中更改SD存储位置。

我也遇到了这个错误,但找到了一个简单的解决方案,但是有点棘手。

我不知道为什么它会抱怨SD图像,但是当我点击高级设置时,我可以看到模拟器外部SD卡映像的位置无效。下面是屏幕截图:

enter image description here

您可以调整该位置,但我决定选择“ Studio-managed”选项。

非常好用。

这一定是在Android Studio更新期间发生的,因为我在创建模拟器或之后就没有调整过这些设置。


不得不调整位置,不确定为什么或如何将位置调整到sdimage错误!! - shadygoneinsane

2
你已经接近成功了。通过命令行创建AVD之后,找到你的AVD所在位置。在我的Mac上,它们位于主目录中的.android/avd文件夹中。以我的新AVD名称Api-15-Gnex为例。我编辑了两个文件(我猜测这里可能存在一些错误,否则应该全部通过GUI完成)。我编辑了以下两个文件(根据你的情况进行更改)。下面是它们最终的外观:

1) Api_15_Gnex.ini

avd.ini.encoding=UTF-8
path=/Users/kaamel/.android/avd/Api-15-Gnex.avd
path.rel=avd/Api-15-Gnex.avd
target=android-15

2) Api-15-Gnex.avd/config.ini

avd.ini.encoding=UTF-8
AvdId=Api_15_Gnex
abi.type=x86
avd.ini.displayname=Api 15 Gnex
disk.dataPartition.size=4G
hw.accelerometer=yes
hw.audioInput=yes
hw.battery=yes
hw.camera.back=none
hw.camera.front=none
hw.cpu.arch=x86
hw.dPad=no
hw.device.hash2=MD5:6930e145748b87e87d3f40cabd140a41
hw.device.manufacturer=Google
hw.device.name=Nexus 4
hw.gps=yes
hw.gpu.enabled=no
hw.gpu.mode=off
hw.keyboard=yes
hw.lcd.density=320
hw.mainKeys=no
hw.ramSize=512
hw.sdCard=yes
hw.sensors.orientation=yes
hw.sensors.proximity=yes
hw.trackBall=no
image.sysdir.1=system-images/android-15/default/x86/
runtime.network.latency=none
runtime.network.speed=full
runtime.scalefactor=0.1
sdcard.path=/Users/kaamel/.android/avd/Api-15-Gnex.avd/sdcard.img
skin.name=768x1280
skin.path=768x1280
skin.path.backup=/Applications/Android Studio.app/Contents/plugins/android/lib/device-art-resources/nexus_4
tag.display=Default
tag.id=default
vm.heapSize=48

编辑后没有错误,我可以像其他AVDs一样编辑或运行它。请注意,路径是特定于我的设置的,您需要将它们更改为您自己的(例如,我的主目录位于Users/kaamel,或者我的Android Studio安装在/Applications/Android Studio.app等)。
祝好运!
附加信息:
还要确保检查Api_15_Gnex.ini(或您命名的任何AVD)。最后一行“target=android-15”必须与image.file.sysdir.1 target匹配。它们两者必须相同,在这种情况下为android-15。一旦您这样做了,即使出现错误,也会点击“显示高级设置”并纠正其他错误(例如皮肤名称,内部存储等),当没有更多的错误时,单击完成并让它重新生成AVD。

我检查了config.ini文件。属性_image.sysdir.1_已经具有正确的系统镜像路径。因此,它不应该显示消息:“指定的SD镜像文件必须是有效的镜像文件”。不是吗? - Tushar Kathuria
请确保检查Api_15_Gnex.ini文件(或者您为AVD命名的任何文件)。最后一行“target=android-15”,必须与image.file.sysdir.1 target相匹配。它们两个必须相同,这里是android-15。完成这一步后,即使出现错误,点击“显示高级设置”,纠正其他错误(比如皮肤名称、内部存储等),当没有错误时,点击“完成”并让它重新生成AVD。在我的情况下,新的AVD可用! - Kaamel
非常感谢。我从“显示高级设置”中编辑了设置,然后成功创建并启动了它。我建议您将此添加为编辑,以便其他人可以受益。 - Tushar Kathuria

0

如果你在Android Studio IDE中没有看到系统映像,你可以使用Android命令行工具创建虚拟设备。尽管它已不再受支持,但我仍然在使用它,而且它仍然有效。

从终端/命令行运行:

android list targets

这将列出可用的目标,如果您通过独立的SDK管理器下载了API 15系统映像,则应在列表中看到它。注意要使用创建AVD所需的目标ID,它应该类似于id:1或“android-15”

然后使用目标ID从目标列表中创建AVD,将目标ID作为-t参数传递。

android create avd --force -n Android403-Api-15 -t 1

回到Android Studio,您现在应该可以看到AVD列表。您需要编辑设备以完成所需的配置(例如RAM、SD卡等)。
有关更多信息,请参见此帖子

0

要使用 intel x86 系统映像,您必须安装 HAXM 模拟器加速器并配置您的系统 BIOS。

对于 Android 4.0.3,您可以使用 armeabi-v7a 系统映像。


1
但是它应该可以在没有HAXM模拟器加速器的情况下工作。对吧? - Tushar Kathuria
是的,只需从SDK管理器中下载您喜欢的Android版本的armeabi-v7a系统映像,并轻松创建您的模拟器。 - Hamed Nabizadeh
请查看已接受答案的评论。现在我也可以使用Intel x86系统映像运行模拟器了,无需下载armeabi-v7a系统映像。 - Tushar Kathuria

0

如果您使用的是32位计算机,请下载x86映像,或尝试按建议下载带有Google APIs的x86_64映像。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接