由于我重新安装了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连接

无线连接


当前回答

由于某种原因,设备可能不再在ADB上获得授权。

1. 检查是否授权:

<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d        unauthorized

2. 取消USB调试电话

如果设备显示为未授权,请转到手机上的开发人员选项,然后单击“撤销USB调试授权”(用JellyBean和Samsung GalaxyIII测试)。

3.重启ADB服务器:

然后重启adb服务器

adb kill-server
adb start-server

4. 重新连接设备

设备将询问您是否同意连接计算机id。 你需要确认一下。

5. 现在检查设备

现在已被授权!

adb devices
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d        device

其他回答

在一些三星设备上,如果不直接重启,可以通过拨打*#0808#来设置模式更改。重新启动后,拨相同的字符串,并确保选择了adb + mdp, USB设置为AP。在此之后,确保重新连接电话并重新启动adb服务器。同时尽量避免使用USB集线器和虚拟机,它们肯定会使事情进一步复杂化。按照前面提到的说明清除授权设备等。

这不是可能工作的所有情况,但因为我使用了很长的电缆,我的设备连接不正确,消息不会弹出 更换电缆可以解决问题

我用的是老款华为手机。当我插入我的Debian Stretch实例,我得到USB计算机连接弹出。如果设置为MTP, PTP或“连接到PC软件”,我发现“adb设备”将失败。但是,如果我将连接选项设置为:

SD卡

然后我可以运行“adb设备”,状态从未授权更改为设备。

我还打开了:

USB调试

不确定是否有人遇到了和我一样的情况,我把手机插到笔记本电脑上,试图运行模拟器。这就是我得到这个错误的原因。如果是这样的话,拔掉你的手机试试

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

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