【问题标题】:Eclipse ADB is rejecting shell commands, and cannot find target of deviceEclipse ADB 拒绝 shell 命令,并且找不到设备目标
【发布时间】:2013-04-29 10:06:13
【问题描述】:

这个问题已经解决了好几次,但我需要重新打开这个问题,因为没有一个答案可以工作或解释什么是错误的。我的手机是根植于 LGl45c,API 10,android 2.3.4。插入计算机后,logcat 中会出现“ADB 拒绝 shell 命令 (getprop):已关闭”。设备调试已开启,它接受未知来源,USB 线是新的,应用程序中正确的 minSDK 为 8,maxSDK 为 17,DDMS 版本 21.1,ADT 版本 21.1。 ADB 似乎无法访问我手机的属性,因此在尝试调试两周前可以运行的应用程序时;

 Android Launch!
[2013-05-05 07:53:45 - SurfaceViewAnimation] adb is running normally.
[2013-05-05 07:53:45 - SurfaceViewAnimation] Performing com.example.surfaceviewanimation.MainActivity activity launch
[2013-05-05 07:53:45 - SurfaceViewAnimation] Automatic Target Mode: Unable to detect device compatibility. Please select a target device.
[2013-05-05 07:53:52 - SurfaceViewAnimation] WARNING: Unknown device API version!
[2013-05-05 07:53:52 - SurfaceViewAnimation] Uploading SurfaceViewAnimation.apk onto device 'A00000318350B9'
[2013-05-05 07:53:52 - SurfaceViewAnimation] Installing SurfaceViewAnimation.apk...
[2013-05-05 07:53:52 - SurfaceViewAnimation] Failed to install SurfaceViewAnimation.apk on device 'A00000318350B9!
[2013-05-05 07:53:52 - SurfaceViewAnimation] closed
[2013-05-05 07:53:52 - SurfaceViewAnimation] Failed to install SurfaceViewAnimation.apk on device 'A00000318350B9': closed
[2013-05-05 07:53:52 - SurfaceViewAnimation] com.android.ddmlib.InstallException: closed
[2013-05-05 07:53:52 - SurfaceViewAnimation] Launch canceled!

打开终端后,adb 在路径中:

pete-mint14@petemint14-Latitude-D810 ~ $ adb devices
adb server is out of date.  killing...
* daemon started successfully *
List of devices attached 
A00000318350B9  device

在“调试:启用,接受未知来源:真”中拔下/重新插入手机会导致:

[2013-05-05 08:00:50 - ddms] ADB rejected shell command (pm install -r  "/data/local/tmp/SurfaceViewAnimation.apk"): closed
[2013-05-05 08:00:50 - ddms] ADB rejected shell command (rm /data/local/tmp/SurfaceViewAnimation.apk): closed
[2013-05-05 08:01:04 - ddms] ADB rejected shell command (getprop): closed

因此,没有“在设备窗口中重新启动 adb”、“kill-server、restart-server”等。Eclipse 可以识别我的设备,但无法访问设备兼容性。由于 getprop、rm 和 pm 是 shell 命令,因此尝试在终端中以 root (su) 身份访问 shell:

petemint14-Latitude-D810 pete-mint14 # adb shell
error: closed

Eclipse 以 root 身份打开。所有应用程序在两周前运行,没有错误。 我唯一能想到的是将自定义ROM下载到手机时出错。但是重新刷入库存 ROM 显示相同的错误,并且它没有回答以下问题:ADB 试图访问什么(build.init ??),为什么终端工具“关闭”?

感谢您再次查看问题,我知道这很烦人,但是“拔出/插件”、重置 adb、重新启动计算机等的旧响应不起作用。我需要知道'...:关闭'是什么意思...

【问题讨论】:

  • 您的计算机上似乎有两个不同版本的ADB,这将造成无穷无尽的麻烦。此外,您绝对不想以 root 身份运行 Eclipse(甚至 ADB)。现在您已经这样做了,您可能会留下由 root 拥有的随机构建文件,普通用户无法清理或覆盖这些文件。无论如何,在没有运行 Eclipse 或 DDMS 的情况下,启动 adb shell 并查看基本命令(尝试“ls”)是否有效。如果不是,您的设备上的 android 安装已损坏。
  • @Chris Stratton 谢谢!显然我在设备上安装了损坏的 android。过几天Linux Mint15出来后,我会重新安装/升级Eclipse(无需root),并将精力集中在设备上。
  • 如果您找到答案,请发布并接受它
  • @Mr_and_Mrs_D 我还没有找到答案。 Mint 15 安装时没有 root。我处理被拒绝的 shell 命令的最新错误导致我自己之前的问题!我目前正在调查 xda-developer Chainfire 的“adbd Insecure”和“SuperSU”应用程序在 root 手机中的使用情况......

标签: android shell adb target ddms


【解决方案1】:

半小时前我也有同样的问题,控制台视图ADB正在拒绝shell命令...,但是现在这个问题已经解决了,只需几步

  1. 重启手机并重启USB DEBUG!!
  2. 重置 adb

现在您可以运行您的应用程序了

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 2012-04-10
    • 1970-01-01
    • 2011-10-09
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多