在设备上运行PhoneGap - 未找到设备

40

我正试图通过USB连接,在我的设备上运行使用phonegap制作的应用程序。

-> phonegap run android
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] compiling Android...
[phonegap] successfully compiled Android app
[phonegap] trying to install app onto device
[phonegap] no device was found

-> adb devices
List of devices attached 
SH25PW103163    device

我刚刚在这台设备上使用eclipse运行了一个本地的Android应用程序,我的USB调试已经激活。

可能出了什么问题?


在尝试了几乎所有的选项后,这个对我有用: https://dev59.com/MFgR5IYBdhLWcg3wEZyV#41793330 - Diogo Rodrigues
14个回答

86

如果您只有一个支持adb的设备,请使用以下命令:

phonegap run android --device

如果您有多个设备,则需要通过以下方式指定设备ID:

phonegap run android --device=<device-id>

例如:

phonegap run android --device=SH25PW103163

phonegap run android --target=SH25PW103163

如果您想知道设备的代码,请在控制台(shell,终端)中执行以下操作:

adb devices


1
那个数字/字符串是什么意思?它是静态的吗? - Francisco Corrales Morales
@FranciscoCorrales:它是设备的索引(adb devices 的结果)。 - DrakaSAN
16
在我的 Mac 上,只需使用 cordova run android --device 即可正常工作,无需设备索引。 - Mulhoon
@Mulhoon建议的最佳方法是,除非您有多个设备,否则无需处理_adb_。 - Kirill Slatin

15

我有类似的问题。我从git克隆了代码,但phonegap没有在我的设备(LG Nexus 4)上安装应用程序。但是我在手机上安装了另一个与我尝试安装的应用程序相同名称和ID的应用程序。

从我的手机中删除旧的应用程序解决了这个问题。


2
太棒了!我已经从build.phonegap.com编译,却忘记修改它的名称。 - Jamie Hutber

14

我所尝试的方法是在USB设置中将设备从媒体设备更改为摄像头设备。

USB电脑连接(相机).png


1
在我的三星Galaxy Note II上也起作用了。 - Paul
2
哈哈,可能有点不合常理,但是对我有效!三星Galaxy Tab A - ohjeeez
1
这个!这就是答案!只有在选择使用“相机”(现在称为照片传输)时,我才被要求在手机上允许计算机连接。然后设备被识别。 - Nelson Rodriguez

9
如果您只连接了一个设备,phonegap run android --device就足够了。

对我没用,可能应该使用“Cordova”而不是“PhoneGap”……并且设备应该启用开发者模式…… - Francisco Corrales Morales

8
我曾经遇到过同样的问题,但原因不同。以下是我的解决方法...
  1. 安装Google USB驱动程序
  2. 安装三星USB驱动程序
  3. 更新Android SDK平台工具(Android SDK Manager)
  4. 在config.xml中编辑Widget ID为其他值。<-- 最后解决了这个问题。
从两台计算机上操作同一项目可能会导致在从第二台计算机安装应用时发生冲突。要么卸载手机上的应用并重新安装,要么更改Widget ID。希望这对某些人有所帮助,PhoneGap CLI没有明确地给出此错误信息。

在config.xml中编辑了Widget ID为不同的值。 <-- 最终解决了。 对我有用 - Daniel Gomez Rico

5

只需使用

cordova run android --device

1
请解释一下这是做什么的,或者它与 OP 命令有何不同。 - Dima Tisnek
这对我没用。错误:无法在设备上启动应用程序:错误:无法将apk安装到设备上:错误:无法部署到设备,找不到设备。 - MistereeDevlord
直到您添加了适当的驱动程序等,adb设备才需要显示已授权的设备。然后您根本不需要使用-devices标志。 - MistereeDevlord

3

我想分享一下我的经验,我无法在设备上启动我的cordova应用程序。解决我的问题的方法是手动上传apk文件:

adb install -r platforms\android\build\outputs\apk\android-debug.apk

1
我有一部LG G4手机,正在使用Apache Cordova的Visual Studio工具(TACO)。
当尝试在设备上进行调试时,我收到了以下消息:无法部署到Android设备,找不到已连接设备。如果您最近连接了设备,则可能需要等待几秒钟才能识别。 对我有效的方法是在USB设置中将设备从媒体传输协议(MTP)更改为照片传输协议(PTP)。 手机截图

0

最终我用两种方法解决了这个问题,现在想和大家分享我的经验。

  1. 我已经尝试了上述所有方法以及其他方法,但都没有成功。所以我从Android Studio中删除了所有的虚拟设备,然后执行以下命令:

cordova run android --device

  1. 我将Cordova项目导入到Android Studio中,然后就能看到连接的设备,这样就可以正常工作了。

0
在Windows上,我需要从Motorola网站安装手机(Moto G)的设备驱动程序。更新SDK、Google USB驱动程序等都没有任何作用;每次执行adb devices时都没有显示任何内容。
在本地安装了Motorola驱动程序后,设备就出现了。

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