编辑:修复!看起来有很多可能的原因。我是一个比较不寻常的......
我将SDK Tools更新为21.1,将Platform-tools更新为16.0.1。已通过adb version
验证我正在运行v1.0.31。我的开发机器运行的是Windows 7,x64。
我有四个4.2.2设备要测试,Galaxy Nexus带解锁的bootloader但没有扎根,还有Nexuses One,4,7和& 10,所有股票。
Nexus One(< 4.2.2)与adb配合得很好,但所有4.2.2设备在adb中显示为“离线”,我从未见过设备上弹出RSA安全对话框,甚至在多次重启ADB(使用kill-server
),PC和设备本身之后。
尝试使用不同的USB端口和电缆。我正在使用SDK中的标准“Android ADB Interface”驱动程序,但也尝试过“Android Composite ADB Interface”和“Samsung Composite ADB Interface”驱动程序。我甚至完全从ADT包中重新安装了SDK。
奇怪的是,我的同事可以毫不费力地在相同的设备上显示弹出窗口。我甚至复制了他的adb.exe和dll并尝试了它,但它仍然不适用于我的。他没有从捆绑中安装;他以传统的方式将ADT安装到Eclipse中,但我怀疑这会有所作为。是什么给了什么?!
编辑26/02 / 2013,16:41 GMT:平台工具16.0.2的更新刚刚发布。尚未更新ADB(仍然是v1.0.31)并仍然看到设备处于脱机状态,并且看不到RSA安全弹出窗口。
答案 0 :(得分:18)
事实证明我的ANDROID_SDK_HOME
环境变量指向一个不再存在的旧位置。它没有引起任何其他问题(奇怪的是),但它似乎阻止了RSA身份验证过程的发生。可能应该在我在另一周检查PATH变量时看到它,但没关系。
我通过运行以下内容并检查读数来找到奇怪的位置:
adb kill-server
set ADB_TRACE=all
adb nodaemon server
更新位置并重新启动电脑后,它现在运行正常。感谢所有回复的人。
答案 1 :(得分:8)
我发现的最佳解决方案是:
adb version
和Linux的./adb version
。 答案 2 :(得分:6)
我遇到了完全相同的问题,这对我有用:如果您在Nexus 7设备上创建了多个用户帐户,那么除非您已登录到该设备,否则您将无法获得安全弹出窗口用于在设备上启用USB调试的帐户。这样做,当你看到弹出窗口确保你选中“总是信任这台电脑”的选项时,它也适用于其他帐户。
答案 3 :(得分:3)
ADB_TRACE揭示了我的问题的答案(我的Linux系统上的〜/ .android文件夹的权限问题阻止了密钥的生成)。非常感谢。
答案 4 :(得分:3)
这肯定会奏效: 在平台工具中按住shift并右键单击。 在此处选择打开命令提示符。
adb kill-server
adb devices
在电话上弹出即可。
您的设备已连接。
如果仍无法正常工作,请尝试重新连接设备并再次检查adb设备
答案 5 :(得分:2)
我做了这个,它适用于我的Windows 8:
答案 6 :(得分:2)
多个adb.exe文件?
从 C:/ Windows / 中删除了一份OLD adb.exe时,我的问题解决了。 我不知道 adb.exe 的副本是如何进入C:\ Windows \?
的当我从 android-sdk / platform-tools / 启动adb.exe时,检测没问题。
答案 7 :(得分:1)
我遇到了同样的问题和设置。 Windows 7,x64,Eclipse Indigo,设备上的一个用户等。
我使用v1.0.31尝试adb devices
,在任何情况下我都没有看到设备弹出。我尝试了各种组合打开/关闭调试,来回插入USB,重启设备等。没有任何效果。我也试过生根设备,以便手动复制指纹文件。但是,该设备无法修复(不建议任何人)。我有一个以上的Nexus 10,所以不断尝试其他的。
我正在使用bootcamp(在Mac笔记本电脑上使用Windows),所以最后一次尝试是在OSX下尝试同样的事情。在第一次尝试从终端进行./adb devices
时,弹出窗口出现了。我接受了指纹,现在它正在OSX中工作。
我更喜欢Windows而非OSX,所以这不是一个理想的解决方法,因为我仍然无法在Windows中使用它。我会密切关注这方面的解决方案,但与此同时,我希望这有助于其他有训练营问题的人。
答案 8 :(得分:0)
关闭并重新启用设备上的Android调试。这给了我设备弹出窗口。
答案 9 :(得分:0)
我在Nexus7上运行Windows 7,一个帐户。我必须实际检查框#34;始终信任这台电脑"它的工作原理。有多少次我接受弹出并选择确定并不重要。直到我最后检查了这个盒子,它才开始工作。现在它很好,并且被adb认可。
答案 10 :(得分:0)
从三星USB驱动程序(随Nexus Root Toolkit一起提供)切换到Google提供的USB驱动程序(通过他们的SDK)对我来说很有用。
答案 11 :(得分:0)
我遇到了这个问题,并找到了答案:要么我胖了手指还是没有注意,或者根本就没有弹出说这里是RSA pubkey检查以允许计算机,我一直处于脱机状态。我遵循地图上的每个方向,从我的规则文件中的LONG列表到重新安装ADB 50次。是的它确实需要是版本1.0.31,我有。如果这是你,那么请继续阅读......
断开您的设备。 假设您使用的是BASH,请在终端中使用这些命令。
adb kill-server
sudo bash
cd ~
mv .android BAK.android
现在您已经有效地删除了初始RSA密钥,请确保在设备上启用了USB调试。重新连接设备并注意屏幕。务必检查“记住此计算机”框。按确定。问题解决了。
答案 12 :(得分:0)
我有同样的问题。不确定它是否适用但您使用adb作为根?
我杀了adb服务器并执行:
sudo ./adb devices list
导致安全提示。在接受它并且在命令之上运行之后,我终于得到了连接。
答案 13 :(得分:0)
我遇到的问题与OP相同,但源自C:\ Windows 中的 adb.exe副本,很像 user1269737 。这在Windows PATH中具有优先权,因此无论我对SDK进行了多少更新,它都没有用,因为没有使用更新的ADB。
有人告诉我,它可能是安装它的Android Studio软件包的一个版本(如图......)。我无法确认,因为: 1.目前的AS捆绑似乎没有这样做...... 2.我安装了很多捆绑ADB的ROM闪存/工具(XDA开发人员的东西)。
所以我无法确认它是Android Studio。
Protip:在 cmd 中使用adb version
和where adb
命令来检查您正在使用的版本以及正在运行的可执行文件
答案 14 :(得分:0)
我尝试了所有这些东西,仍然无法让Windows在我的Android设备上显示RSA提示。几个小时后,这就是我的工作方式:
我的问题是在Windows上安装了LG驱动程序。一旦我删除并安装了谷歌驱动程序,它就完美无缺。 RSA提示立即显示。