如何在设备上运行使用Cordova生成的.apk文件而不是模拟器?

30

我正在使用Sencha Touch 2.3.1开发跨平台应用程序,并使用Cordova 3.3.0部署到本地平台。

我遵循了这个教程。按照教程,我能够在模拟器中运行.apk文件。现在我想在我的设备上运行应用程序。即使我使用usb连接我的设备到笔记本电脑,我也无法在设备上运行应用程序。欢迎提供任何帮助。

3个回答

64
要让项目在您的设备上运行而不是在模拟器中,您只需要在运行 cordova run android 之前将设备插入即可。
如果Cordova找不到连接的设备,则仅运行模拟器。
在运行 cordova run android之前,建议您运行命令adb devices以检查Android SDK工具是否找到您的设备。
如果没有找到,则需要在设备上启用USB调试并为设备安装adb驱动程序。
编辑:
由于这个答案似乎得到了赞成票,我认为改进一下会是一个好主意...
实际上,当运行 cordova run android时,您可以添加一个 --device选项来强制在设备上启动(如果没有找到设备,则会启动模拟器,有时可能会很烦人)。

2
当我在命令中添加了 --device,就像这样 cordova run android --device,它就可以工作了。 - Hirdesh Vishwdewa
3
如果这不起作用,尝试终止服务器adb kill-server,将您的安卓设备断开 USB 连接,启动服务器 adb start-server 并重新连接设备。然后上述答案应该可以正常工作。 - achabacha322
1
您可以通过进入 Android 设备的设置,点击构建号七次,然后它应该显示“现在您是开发人员”,然后在开发人员选项中启用 USB 调试模式来启用 USB 调试模式。 - SCBuergel
我已经开启了USB调试并安装了adb驱动程序,但仍无法在设备上运行“cordova run android --device”。对于问题的原因感到困惑。 - dav
在shell中运行adb devices,你能看到你的设备吗?如果不能,那么你需要解决这个问题(也许是启用了设备上的调试或允许计算机进行调试?)如果可以,也许是Cordova使用的Android工具出现了问题(随着Cordova和Android SDK的最新版本被Android Studio取代,可能会出现一些路径问题找到工具)。 - QuickFix

-1

你应该前往 cordova/platforms 目录并检查是否有 ios 或 android 文件夹,具体取决于你想运行的应用程序。如果文件夹不存在,则应通过命令行添加它,如下所示:

cordova platform add android

或者

cordova platform add ios

当然,我假设您已经安装了 Cordova 命令行工具。

编辑:

一旦您获得所需平台的项目文件夹,您可以使用 Eclipse、IntelliJ 或 xCode 打开该项目。一旦在 IDE 中打开它,您就可以安装它到您的设备上。请注意,每个 IDE 的过程都有所不同 - Eclipse、IntelliJ、xCode(顺便说一下,您也可以使用 Android Studio 来编写 Android 应用程序)

还有,在安装到 Android 手机上之前,您需要从设置中启用 USB 调试。


我必须只在安卓设备上运行,并且它已经在安卓模拟器上成功运行。我想在我的手机上运行它。 - user3213851
你们不是忘记了apk需要进行签名吗? - Michael
1
@Michael APK需要签名后才能推向线上,而不是开发环境。 - DanielPanic

-3

将那个.apk文件安装到您的设备上,您就可以获得您的应用程序。


1
是的,这对一次性目的来说是可以的。但是我需要在这个设备上反复测试我的应用程序。而且我认为拿着apk文件然后安装到设备中并不是一个很好的主意。我需要直接在我的设备上运行apk文件。 - user3213851
3
这没有意义。在使用PhoneGap构建服务时,您需要扫描QR码或手动下载设备上的APK文件。或者,您可以运行“cordova run android --device”,以便更轻松地在设备上安装和运行应用程序进行测试。 - DATEx2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接