运行时无命令输出:'am start -n

Posted

技术标签:

【中文标题】运行时无命令输出:\'am start -n【英文标题】:No command output when running: 'am start -n运行时无命令输出:'am start -n 【发布时间】:2013-02-20 01:29:20 【问题描述】:

最近,当我尝试在我的设备上运行我的 android 应用程序时,我必须在 Eclipse 中运行它几次才能真正启动它。

我尝试重新安装 JRE、JDK 和 IDE,并尝试切换工作区。我还让 Eclipse 为 Java VM 使用更多 RAM。

我的 IDE、JRE、JDK、ADT 和 ADT 插件都是最新的。

非常感谢您对此提出任何建议。

运行时无命令输出:'am start -n com.example.abstab/com.example.abstab.ActivityMain -a android.intent.action.MAIN -c android.intent.category.LAUNCHER'​​ on device HT15CV805781

异常堆栈跟踪:

com.android.ddmlib.ShellCommandUnresponsiveException
    at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:408)
    at com.android.ddmlib.Device.executeShellCommand(Device.java:453)
    at com.android.ide.eclipse.adt.internal.launch.ActivityLaunchAction.doLaunchAction(ActivityLaunchAction.java:67)
    at com.android.ide.eclipse.adt.internal.launch.ActivityLaunchAction.doLaunchAction(ActivityLaunchAction.java:109)
    at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.doLaunchAction(AndroidLaunchController.java:1277)
    at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.doLaunchAction(AndroidLaunchController.java:1289)
    at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.launchApp(AndroidLaunchController.java:1261)
    at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.simpleLaunch(AndroidLaunchController.java:906)
    at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.continueLaunch(AndroidLaunchController.java:748)
    at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.launch(AndroidLaunchController.java:640)
    at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.doLaunch(LaunchConfigDelegate.java:322)
    at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:238)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:855)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:704)
    at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1047)
    at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1251)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

会话数据:

eclipse.buildId=M20120914-1800
java.version=1.7.0_15
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -keyring /Users/myname/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -keyring /Users/myname/.eclipse_keyring -showlocation

【问题讨论】:

您的问题解决了吗?我在这里遇到同样的问题。 我还没有找到解决方案。我最近在我的设备上安装了不同的 ROM,所以恢复出厂默认设置可能对您的问题有所帮助?我仍然不知道是我开发的机器还是导致问题的设备。 :( 所以你想说我为android重新安装了adt bundle? @FastTrack 在我的设备恢复出厂默认设置后,我无法在当前系统上重现该问题。 【参考方案1】:

我大部分时间都会遇到同样的情况,当我重新启动ADB 服务器时它会工作。大多数时候,ADB 会陷入某种困境(特别是当模拟器重新启动时),我不得不手动重新启动它,例如:

adb kill-server
adb start

使用上述命令重启ADB后,Eclipse Android运行非常稳定。

【讨论】:

【参考方案2】:

'am start -n com.example.abstab/com.example.abstab.ActivityMain -a android.intent.action.MAIN -c android.intent.category.LAUNCHER'​​ on 设备HT15CV805781

HT15CV805781可能设备有问题

在 com.android.ddmlib.Device.executeShellCommand(Device.java:453)

那一行异常表明您的应用程序在设备中执行时遇到问题。

重启设备有时会有所帮助,或者重启 adb bridge 的连接。

【讨论】:

感谢您的回复。我重新启动了我的设备 (AVD) 并使用 adb kill-server 和 adb start-server 重新启动了 adb 桥。但它没有工作。它给出了同样的错误。设备配置如下:Device configuration 我已经更新了问题。你能看一下seesion data : BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US .win 32/64 bit 有什么问题吗。我使用的是 win 64 bit 版本。 确保您已下载 64 位 SDK。 是的,我已经下载了 64 位的 SDK。我已经编辑了问题,但在 Ruben(问题所有者)审查之前你看不到它。所以我编辑了我的问题 Click Here 请不要标记它是重复的,因为我在赏金之前问过它。 @FastTrack 我不会接受你对这篇文章的编辑,因为你在使用模拟器时遇到了这个问题,而我在物理设备上遇到了这个问题。但是,我确实相信我们任何一方的解决方案都可以解决两者或问题。如果您的问题解决了,我也会将这个问题标记为已解决...【参考方案3】:

试试这个命令:

adb.exe kill-server
adb.exe start-server
adb.exe shell am start -n com.example.abstab/.ActivityMain

【讨论】:

以上是关于运行时无命令输出:'am start -n的主要内容,如果未能解决你的问题,请参考以下文章

am start 启动activity 命令

am335x uboot启动流程分析

app测试

adb shell中的am pm命令

ADB命令:am

调用期间未分配输出参数“am”(可能还有其他参数)