让 Cordova/Phonegap 在 Genymotion 虚拟设备上进行仿真
Posted
技术标签:
【中文标题】让 Cordova/Phonegap 在 Genymotion 虚拟设备上进行仿真【英文标题】:Getting Cordova/Phonegap to emulate on Genymotion virtual device 【发布时间】:2013-12-30 21:28:30 【问题描述】:使用 Cordova CLI,我设置并构建了一个应用程序:
cordova create hi com.example.hi Hi
cd hi
cordova platform add android
cordova build android
我运行 Genymotion 并启动一个名为“api9”的设备。我运行 Android Debug Bridge adb devices
它显示为
192.168.8.101:5555
我尝试使用 cordova emulate android
启动应用程序,但我得到:
Error: An error occurred while emulating/deploying the android project. ...spawn ENOENT
但是,启动 Android 虚拟设备管理器并启动模拟设备; cordova emulate android
有效,adb devices
列表;
192.168.8.101:5555
emulator-5554
我应该怎么做才能让 Cordova 通过 Genymotion 设备进行仿真?
【问题讨论】:
【参考方案1】:当设备列表为空时,本例不涉及,则需要手动连接 adb 到 genymotion 设备。
因此你让它在同一个 JAVA SDK 环境中运行,所以不要使用 Genymotion 中内置的。
然后启动您的设备。屏幕上应该出现一些 genymotion 图标。点击它,你会看到IP。
然后在控制台中使用命令“adb connect 198.123.123.123”(当然使用您自己的 IP)。
之后,您的设备列表将更新。
最后使用“cordova run android”,它会将你的应用安装到虚拟设备上。
同样适用于 ionic 框架:“ionic run android”。 注意:如果没有找到任何设备,它将回退到模拟器...
【讨论】:
'屏幕上应该出现一些 genymotion 图标'你的意思是在虚拟设备屏幕上我没有这样的图标,只是我的正常设备。 如果没有图标可以查看虚拟设备的设置并查找网络 已经运行 cordova run android 和 genymotion 设备 - 然后检查设置进入网络,只看到 wifi、蓝牙等....没有图标,无法理解为什么会出现 tbh 但感谢你的帮助..【参考方案2】:似乎adb
将 genymotion 虚拟设备视为真实设备而不是模拟设备,请尝试使用 cordova run android
而不是 cordova emulate android
。
【讨论】:
你成就了我的一天 :) 谁会教这个! 这是合乎逻辑的......事实上,基于 virtualbox 的仿真就像一个真实的设备。 终于有了一种更快速的模拟方式。带有 Nexus 7 的 Android SDK 在 Mac OS X Yosemite、Imac 2008 12Gb RAM 上运行缓慢。 Genymotion 允许测试更多“真实”的畅销设备,并且 Galaxy S3 仿真非常被动(使用他们的库,而不是 Android SDK - 请参阅 Genymotion 设置)。使用截至 2015-02-01 的最新版本的 Genymotion。以上是关于让 Cordova/Phonegap 在 Genymotion 虚拟设备上进行仿真的主要内容,如果未能解决你的问题,请参考以下文章
如何让 Parse.com 推送通知在 Cordova/Phonegap Android 应用程序中工作?