关于cordova:App未出现在Android模拟器中

App does not appear in Android emulator

我正在Mac上使用WebStorm(PhoneGap / Cordova App)创建一个PhoneGap应用程序。我遇到的问题是该应用程序没有出现在Android模拟器中。模拟器出现,但带有"android"一词的屏幕不会更改以显示应用程序:

enter image description here

我已按照Cordova网站上的说明在Mac上进行Android设置:

enter image description here

这是模拟器设置:

enter image description here

我已经尝试激活和停用"使用主机GPU",根据这个问题的答案和评论没有用 - Android模拟器显示除了黑屏和adb设备显示"设备离线"

当我选择"浏览器"作为配置中的平台时,应用程序显示并正常工作:

enter image description here

任何想法我还需要做什么?

编辑1:这是在@Dar建议的详细模式下运行时的日志信息

Running command: /Users/username/Documents/Projects/harkme/platforms/browser/cordova/run --emulator

Static file server running @ http://localhost:8000/index.html

CTRL + C to shut down

ANDROID_HOME=/usr/local/Cellar/android-sdk/24.3.4/

JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home > No emulator specified, defaulting to AVD_for_Galaxy_Nexus_by_Google

Waiting for emulator...

emulator: WARNING: VM heap size set below hardware specified minimum of 128MB

emulator: WARNING: Setting VM heap size to 256MB

Hax is enabled

Hax ram_size 0x40000000

HAX is working and emulator runs in fast virt mode.

console on port 5554, ADB on port 5555

编辑2:

@Dar提到的启用HAXM可以大大加快仿真器的速度,几秒钟之后"android"页面消失,显示桌面但未安装应用程序。但是,我发现如果我将应用程序从构建文件夹拖到桌面上,则应用程序已安装。应用程序文件(android-debug.apk)位于:

平台/安卓/建设/输出/ APK

这个过程实际上(意外地)改进了我的工作流程,因为我现在只是构建应用程序并将其拖到模拟器上,而不是在更改测试应用程序后从WebStorm运行PhoneGap / Cordova。

我还将模拟器设置更改为:

enter image description here

编辑3:

有时,启动模拟器时会出现以下错误

Unknown hax vcpu return 1

如果它继续这样做,目前唯一可以绕过它的方法是按照此处的建议重新启动Mac - https://code.google.com/p/android/issues/detail?id=201694


对不起,这应该是某种评论,但我仍然没有足够的积分来做到这一点。

在不知道模拟器在幕后记录什么的情况下,我不能超越以下说明。

如果愿意,请更新我们。

请尝试在您的终端中执行以下操作。我没有亲自使用过WebStorm,但文档说该终端可以在IDE中使用。

这也是假设您正在使用cordova进行开发。如果您使用了ionic或phonegap,请相应地更改命令。

  • cordova build emulator --verbose
  • 检查应用程序是否成功构建。

  • cordova run emulator --verbose
  • 检查模拟器是否成功定义其属性,构建应用程序并将其部署到模拟器。

    另一个问题是加载仿真器需要很长时间。我建议您在Android SDK Manager中安装HAXM。 HAXM代表英特尔硬件加速执行管理器。它将在速度方面真正提升您的仿真器性能。

    此外,也许您可??以尝试在SD卡大小中输入一些值。
    也许512 MiB就足够了。

    如果所有其他方法都失败,请删除模拟器并创建一个新模拟器。使用cordova run android --target=emulatorname定位模拟器

    同样,如果您能够向我们提供日志信息,请更新。