我正在 Mac 上使用 WebStorm(PhoneGap/Cordova 应用程序)创建一个 PhoneGap 应用程序。我遇到的问题是该应用程序未出现在 Android 模拟器中。模拟器出现,但带有“android”字样的屏幕没有改变以显示应用程序:
我已按照 Cordova site for Android 上的说明进行操作在 Mac 上设置:
这是模拟器设置:
我已尝试根据此问题的答案和评论激活和停用“使用主机 GPU”,但没有用 - Android emulator shows nothing except black screen and adb devices shows "device offline"
当我在配置中选择“浏览器”作为平台时,应用程序出现并正常工作:
我还需要做什么吗?
编辑 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 运行。
我还将模拟器设置更改为:
编辑 3:
有时候启动模拟器会出现如下错误
Unknown hax vcpu return 1
如果它继续这样做,目前绕过它的唯一方法是按照此处的建议重新启动 Mac - https://code.google.com/p/android/issues/detail?id=201694
最佳答案
抱歉,这应该是某种评论,但我仍然没有足够的积分来这样做。
在不知道模拟器在后台记录什么的情况下,我不能比以下说明更进一步。
如果您愿意,请务必更新我们。
请尝试在您的终端中执行以下操作。我个人没有使用过 WebStorm,但是文档说终端可以在 IDE 中使用。
这也假设您正在使用 cordova 进行开发。如果您使用 ionic 或 phonegap,请相应地更改命令。
cordova 构建模拟器 --verbose
检查应用程序是否构建成功。
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/