【问题标题】:App does not appear in Android emulator应用程序未出现在 Android 模拟器中
【发布时间】:2016-09-26 15:31:16
【问题描述】:

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

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

这是模拟器设置:

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

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

有什么想法我还需要做什么吗?

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

运行命令:/Users/username/Documents/Projects/harkme/platforms/browser/cordova/run --emulator

静态文件服务器运行@http://localhost:8000/index.html

CTRL + C 关闭

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

JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home > 未指定模拟器,默认为 AVD_for_Galaxy_Nexus_by_Google

等待模拟器...

模拟器:警告:VM 堆大小设置低于硬件指定的最小值 128MB

模拟器:警告:将 VM 堆大小设置为 256MB

Hax 已启用

Hax ram_size 0x40000000

HAX 正在工作,模拟器以快速 virt 模式运行。

5554 端口上的控制台,5555 端口上的 ADB

编辑 2

@Dar 提到的启用 HAXM 极大地加快了模拟器的速度,以至于“android”页面在几秒钟后消失以显示桌面但未安装应用程序。但是,我发现如果我将应用程序从构建文件夹拖到桌面上,应用程序就会安装。应用文件 (android-debug.apk) 位于:

platforms/android/build/outputs/apk

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

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

编辑 3:

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

未知的hax vcpu返回1

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

【问题讨论】:

    标签: cordova android-emulator webstorm


    【解决方案1】:

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

    在不知道模拟器在后台记录什么的情况下,我无法比以下说明更进一步。

    如果您愿意,请更新我们。

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

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

    1. cordova build emulator --verbose

    检查应用是否构建成功。

    1. cordova run emulator --verbose

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


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


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


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

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

    【讨论】:

    • 感谢您的建议。构建最初有一个错误,但经过一番搜索后,我通过在文件 project.properties 中添加 buildToolsVersion=23.0.3 解决了这个问题。实施 HAXM 确实加快了模拟器的速度,现在最初的“android”屏幕消失了,露出桌面并允许我进行交互。但是,该应用程序仍然没有出现,也无法在模拟器上的 apps 中使用。我觉得它快到了,可能是我尚未完成或设置的显而易见的事情。使用不同的模拟器也不能解决问题。有关日志信息,请参阅答案中的编辑。
    • 另请参阅编辑 2。您知道为什么该应用最初没有安装吗?
    • 你能用--verbose选项运行模拟器吗?终端应输出类似于:imacxxxxxxxx:xxx xxxxxxx$ cordova run android --verbose Executing "before_run" hook for all plugins. Executing "before_prepare" hook for all plugins. Searching PlatformJson files for differences between project vs. platform installed plugins 它可以显示应用程序最初未安装的原因。最近有一个类似的问题,也许它可以进一步帮助你。 stackoverflow.com/questions/37456371/…
    • 与那个问题有关,我第一次运行cordova run --emulator --verbose 时看不到Running command "getprop emu.uuid" on emulator-5554...,但是当我在Ctrl-C 之后再次运行它时,我看到Running command "cat /proc/cpuinfo" on emulator-5554...并且应用程序在模拟器中加载。
    • @camden_kid 我认为在一次运行之后再次运行模拟器(通过Ctrl+C)是很常见的,这样下一次运行就已经设置了属性。很高兴听到应用程序已经在模拟器中加载。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多