安装期间挂起的ADB命令行(PhoneGap)

时间:2014-01-22 23:29:45

标签: android cordova adb

我的Phonegap应用程序拒绝加载到我的Android设备上(即使HellowWorld默认应用程序拒绝加载)

直到今天,一切都很好。 这是我的控制台日志:

***\>adb devices
List of devices attached
4c05609b        device

***\>phonegap run --device -V android
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] compiling Android...
[phonegap] Generating config.xml from defaults for platform "android"
[phonegap] Compiling app on platform "android" via command "cmd" /c ***\platforms\android\cordova\build
[phonegap] Platform "android" compiled successfully.
[phonegap] successfully compiled Android app
[phonegap] installing app onto device
[phonegap] Generating config.xml from defaults for platform "android"
[phonegap] Running app on platform "android" via command "cmd" /c ***\platforms\android\cordova\run --device

它只是坐在那里说着......永远地跑着。

我打开了另一个终端窗口,adb logcat正在运行,并且在某个时刻(可能在最后一行打印10-15秒后)它停止记录。终止进程并随后调用adb logcat会导致更多挂起(根本不记录)

那么我必须做一个kill-server,start-server来打破这个无休止的挂起,此时phonegap进程终止于:

       [error] An error occurred while running the android project.
***\platforms\android\cordova\node_modules\q\q.js:126
                    throw e;
                          ^
ERROR: Failed to launch application on device: ERROR: Failed to install apk to d
evice: Error executing "adb -s 4c05609b install -r "***\platforms\android\bin\Po
ached-debug-unaligned.apk"": protocol failure

我试过了

  • 删除C:\ Users \ Name
  • 中的.cordova文件夹
  • 直接运行adb安装(没有phonegap)
  • 部署到模拟器(同样的问题)
  • 拔出/重新插入设备
  • 重启所有设备
  • 在设备上切换“开发者模式”并撤消USB调试权限

我完全没有想法!

非常感谢任何提示或线索。

ADB版本1.0.31

运行Android v4.3的Galaxy S3


修改

部署到模拟器声称成功完成,但应用程序永远不会打开,也不会出现在模拟器内的应用程序列表中。所以我无法在模拟器上实际测试它。

真的很感激一些帮助。


编辑2:

经过一些进一步的修补后,我发现当我尝试与我的设备通话时,我的问题可以更明确地描述为 ADB挂起(冻结)。我已经确定了这个因为 adb shell adb install adb push 都失败的方式与上述相同。没有错误,只是有限的等待。

adb logcat adb devices 和其他读取函数完全正常,直到上述写入函数之一挂起,在这种情况下我需要执行 adb kill-server TASKKILL adb logcat 再次运行。

不确定这些添加的信息是否有帮助,但是你去了。我还没有尝试的最后一件事是按照this fellow的建议在我的手机上重置恢复出厂设置。如果我很快找不到解决方案,我会尽可能地备份我的数据并尝试这个......

在此成为我的最后选择之前请保存我!

6 个答案:

答案 0 :(得分:12)

如果这有助于其他人我有类似症状的问题。 ADB安装-r" apk路径"会无限期地挂起来。

我解决了无数问题,发现这是我的USB电缆长度。

我有一个USB延长线,因为我将设备插入。我的设备电缆和USB延长线的总长度导致了这个问题。卸下延长线可解决问题,最终我用更短的延长线更换了USB延长线,以便最终解决。

答案 1 :(得分:7)

这些问题似乎随机解决了。正如其他人所说,ADB kill-server的任意组合,重新启动设备以及重新安装SDK似乎可以缓解这个问题(即使只是推动了几次)。

我仍然不知道导致这种情况的原因,虽然迷信上述修复它的任意组合,但我不确定如何永久解决它。

对于未来阅读此内容的人,在给出一个可靠的解释之前,我唯一的建议是将一小时左右的时间重新开始/重建您的开发环境...并确保您购买耐用的压力球。

答案 2 :(得分:3)

在这里黑暗中拍摄,但还有一些事情需要尝试:

  1. 您是在工作PC上还是其他什么东西?确保您具有USB写入权限。此外,尝试不同的USB端口和电缆。你的设备有最新的USB驱动程序吗?
  2. 尝试更新SDK工具。或者可能是某些东西被破坏了,重新安装也可以解决问题。
  3. 您的设备上有可用空间吗?
  4. 在两台设备上都检查了未知来源?
  5. 您定位的是什么版本的Android?

答案 3 :(得分:2)

请尝试像其他建议一样重启设备。根据我的经验,杀死adb进程,然后运行cordova run命令有时会神奇地帮助。

答案 4 :(得分:0)

在我的情况下,adb似乎挂了,但实际上从Mac到模拟器的数据传输速度非常慢:

$ adb push platforms/android/build/outputs/apk/android-debug.apk /data/local/tmp/
150 KB/s (15587200 bytes in 101.223s)

USB连接的真实设备上的速度要快得多。不知道为什么......

答案 5 :(得分:0)

有相同的(原始)问题(在旧设备上使用cordova /测试)即。在安装过程中挂起。

尝试直接从cmd行运行adb install ...

adb [-s <deviceID>] install <apk>

......同样的问题,所以不具有特定的信息......

打开Android设备监视器(ADM)...

.. SDK \工具&gt;监测

..再次从cmd行运行安装,看到logcat消息说包是sdk 16 / device是15 ... doh!

所以回到AndroidManifest.xml并将android:minSdkVersion改为15并再次恢复正常 - 安装工作正常。

(问题出现是因为我安装了其他一些改变了minSdkVersion的东西,然后删除了其他内容并且从未重置minSdkVersion)

因此,设备sdk / android版本可能太低,无法构建。如果没有,在从命令行启动安装时查看ADM logcat输出可能会指出问题所在。