由于我重新安装了Eclipse(简单地删除并重新下载),我无法在三星Galaxy i9001(使用CyanogenMod - Android 4.4.2)上调试我的应用程序。在重新安装之前,它工作正常。

拔下/插头,取消/检查“调试已启用”,adb kill-server/adb start-server,重启电话/电脑对我不起作用。在设备上授权对话框从未出现(但我记得该对话框出现在重新安装之前)。我不知道如何强制显示这个授权对话框。没有abd_key。.android目录下的Pub文件。 当我试图读取cpu信息DDMS说:

[2014-04-15 12:47:06 - DDMS] device unauthorized. Please check the confirmation dialog on your device.

什么好主意吗?是否可以在没有确认对话框的情况下手动生成密钥?

USB连接

无线连接


当前回答

作为参考,我刚刚在Linux上遇到了几乎相同的问题,并花了很多时间来解决它。我最终确定我有一个~/。Android目录是根拥有的(感谢运行adb作为根,同时试图解决其他连接问题)。删除根用户~/。android目录解决了下一次我重新连接设备时缺少的授权对话框。

有可能简单地改变所有权也会解决这个问题-我猜这是一个简单的无法访问存储在里面的adb密钥文件,这是问题的根源。我没有验证,但是,我不会故意破坏我来之不易的连接,只是为了我可以检查;-)

其他回答

我也有同样的问题。通过将“USB计算机连接”设置为“相机(PTP)”而不是“媒体设备(MTP)”解决了这个问题

我刚刚尝试了adb kill-server,它为我工作:

PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186        unauthorized
PS C:\Users\languoguang> adb shell
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.

关闭并启动adb服务器:

PS C:\Users\languoguang> adb kill-server
PS C:\Users\languoguang> adb start-server
* daemon not running; starting now at tcp:12345
* daemon started successfully
PS C:\Users\languoguang> adb devices
List of devices attached
MKJ0117A19000186        device

检查你是否安装了Samsung Kies。这是一个可能的解决方案

我用这个分层,我通过关闭手机的wi-fi来获得权限对话框。

解决方案是复制你的文件~/.android/adbkey。pub(在GNU/Linux上,或%USERPROFILE%\.android\adbkey。将其放在/data/misc/adb/adb_keys目录下。您需要root权限才能做到这一点。

你可以用任何你喜欢(或能够)的方式传输文件,无论是USB、电子邮件还是临时文件上传服务。在我的情况下,因为它是一个新的Android-x86安装在虚拟机,没有可用的web浏览器,网络/TCP adb不能工作,我不得不实际输入715个字符。

至少它起作用了。