cordova - 应用程序未出现在 Android 模拟器中

标签 cordova android-emulator webstorm

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

enter image description here

我已按照 Cordova site for Android 上的说明进行操作在 Mac 上设置:

enter image description here

这是模拟器设置:

enter image description here

我已尝试根据此问题的答案和评论激活和停用“使用主机 GPU”,但没有用 - Android emulator shows nothing except black screen and adb devices shows "device offline"

当我在配置中选择“浏览器”作为平台时,应用程序出现并正常工作:

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) 位于:

平台/android/build/outputs/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,请相应地更改命令。

  1. cordova 构建模拟器 --verbose

检查应用程序是否构建成功。

  1. cordova run emulator --verbose

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


另一个问题是加载模拟器的时间太长。我可以建议您在 Android SDK Manager 中安装 HAXM。 HAXM 代表英特尔硬件加速执行管理器。它确实会在速度方面提升您的模拟器性能。


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


如果一切都失败了,删除模拟器并创建一个新的。使用 cordova run android --target=emulatorname

定位该模拟器

再次强调,如果您能够向我们提供日志信息,请更新。

关于cordova - 应用程序未出现在 Android 模拟器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37497935/

相关文章:

ios - 与 Firebase 和 Ionic 的通用链接

javascript - Ionic3:Base64 To Gallery 插件使应用程序崩溃

html - 对象/iframe 溢出滚动在 ios (cordova) 中不起作用

javascript - 在 iPad 网络应用程序中禁用垂直弹跳效果

memory - 为什么 RAM 是 2 的幂?

android - 我如何模拟没有 GPS 位置或位置不佳

java - 在 Android Emulator 上安装大 .apk 需要很长时间

javascript - Webstorm - Typescript、AngularJS 和生成器 ng-poly Getter/Setter

node.js - 类型错误 : Cannot read property 'connect' of undefined

css - 无论如何不要在 WebStorm 中格式化 CSS 新断线以更好地支持 Flexbox Grid