21

编辑:固定!看起来有很多可能的原因。我的是比较不寻常的...


我将 SDK 工具更新到 21.1,将平台工具更新到 16.0.1。验证adb version我正在运行 v1.0.31。我的开发机器运行的是 Windows 7、x64。

我有四个 4.2.2 设备要测试,一个 Galaxy Nexus 带有未锁定的引导加载程序,但没有 root,以及 Nexuses One、4、7 和 10,所有库存。

Nexus One,<4.2.2,与 adb 一起工作得很好,但所有 4.2.2 设备在 adb 中都显示为“离线”,而且我从未见过设备上弹出 RSA 安全对话框,即使在几次重新启动后也是如此ADB(使用kill-server)、PC 和设备本身。

尝试使用不同的 USB 端口和电缆。我正在使用 SDK 中的标准“Android ADB 接口”驱动程序,但也尝试了“Android Composite ADB Interface”和“Samsung Composite ADB Interface”驱动程序。我什至完全从 ADT 包中重新安装了 SDK。

奇怪的是,我的同事可以毫不费力地让弹出窗口在相同的设备上显示。我什至复制了他的 adb.exe 和 dll 并尝试了它,但它仍然无法在我的身上工作。他没有从捆绑包中安装;他以老式的方式将 ADT 安装到 Eclipse 中,但我怀疑这会有所作为。是什么赋予了?!

编辑 26/02/2013,格林威治标准时间 16:41:平台工具 16.0.2 的更新刚刚发布。尚未更新 ADB(仍然是 v1.0.31)并且仍然认为设备处于离线状态,并且看不到 RSA 安全弹出窗口。

4

15 回答 15

19

事实证明,我的ANDROID_SDK_HOME环境变量指向了一个不再存在的旧位置。它没有引起任何其他问题(奇怪的是),但它似乎一直在阻止 RSA 身份验证过程的发生。前一周我检查 PATH 变量时可能应该看到它,但没关系。

我通过运行以下命令并检查读数找到了奇怪的位置:

adb kill-server
set ADB_TRACE=all
adb nodaemon server

更新位置并重新启动我的电脑后,它现在工作得很好。感谢所有回复的人。

于 2013-03-14T11:50:57.193 回答
8

我发现的最佳解决方案是:

  1. 使用以下命令检查您的 adb 版本:adb version对于 Windows 和./adb versionLinux。
  2. 如果显示 1.0.29,请将其升级到 1.0.31,因为 1.0.29 不会响应 JB 4.2.X
  3. 它将解决您的设备离线问题。
  4. 如果您的系统已经有新的 adb(1.0.31) 并面临这个问题,在这种情况下打开 sdk 并将平台工具升级到 16.0.1
  5. 至少重新启动您的设备一次.. :) 它适用于所有设备...
于 2013-04-10T01:30:35.603 回答
6

我遇到了完全相同的问题,这对我有用:如果您在 Nexus 7 设备上创建了多个用户帐户,那么除非您登录到与之前相同的帐户,否则您将不会收到安全弹出窗口用于在设备上启用 USB 调试。这样做,当您看到弹出窗口时,请确保选中“始终信任此计算机”选项,然后它也应该适用于其他帐户。

于 2013-02-26T23:03:48.620 回答
3

ADB_TRACE 揭示了我的问题的答案(我的 Linux 系统上的 ~/.android 文件夹的权限问题阻止了密钥的生成)。非常感谢。

于 2013-03-22T16:51:02.397 回答
3

这肯定会奏效:在平台工具中按住 shift 并右键单击。在此处选择打开命令提示符。

adb kill-server

亚行设备

在电话上说“是”弹出窗口。

您的设备将被连接。

如果仍然无法正常工作,请尝试重新连接设备并再次检查 adb 设备

于 2013-05-06T15:30:53.297 回答
2

我这样做了,它适用于我的 Windows 8:

  1. 打开计算机——在文件管理器中管理
  2. 在系统工具/设备管理器上,删除任何现有的 android 相关项目。
  3. 单击“扫描硬件更改”。
  4. 该设备显示为警告标志。
  5. 右键单击设备,单击“更新驱动程序软件”。
  6. 选择 ANDROID_SDK_HOME\sdk\extras 作为驱动程序的来源。
  7. 在设备上,关闭 USB 调试关闭再打开(或多次)

哇,弹出窗口出现在设备中!

于 2013-08-14T17:46:40.693 回答
2

多个 adb.exe 文件?

从C:/Windows/删除 OLD adb.exe 的副本后,我的问题得到了解决。我不知道adb.exe的副本是如何到达 C:\Windows\ 的?

当我从android-sdk/platform-tools/启动 adb.exe 时,检测没有问题。

于 2014-03-03T17:42:32.763 回答
1

我有同样的问题和设置。Windows 7、x64、Eclipse Indigo、设备上的一位用户等。

我尝试adb devices使用 v1.0.31 并且在任何情况下都没有在设备上看到弹出窗口。我尝试了各种打开/关闭调试、来回插入 USB、重新启动设备等的组合。没有任何效果。我还尝试将设备植根以手动复制指纹文件。但是,该设备无法修复(不推荐给任何人)。我有不止一个 Nexus 10,所以继续尝试其他的。

我正在使用训练营(在 Mac 笔记本电脑上使用 Windows),所以最后一次尝试是在 OSX 下尝试同样的事情。在从终端第一次尝试./adb devices时,弹出窗口出现了。我接受了指纹,现在它在 OSX 中工作。

我更喜欢 Windows 而不是 OSX,所以这不是一个理想的解决方法,因为我仍然无法让它在 Windows 中工作。我会密切关注这个问题的解决方案,但与此同时,我希望这可以帮助其他人解决训练营问题。

于 2013-03-04T13:22:07.780 回答
0

关闭并重新打开设备上的Android 调试。这给了我设备弹出窗口。

于 2013-03-11T21:01:23.967 回答
0

我在 Nexus7 上运行 Windows 7,一个帐户。我实际上必须选中“始终信任这台计算机”框才能使其正常工作。不管我有多少次接受弹出并选择确定。直到我最终选中该框,它才起作用。现在好了,被adb识别了。

于 2013-03-13T17:06:47.623 回答
0

从三星 USB 驱动程序(Nexus Root Toolkit 附带的)切换到 Google 提供的 USB 驱动程序(通过他们的 SDK)对我来说是成功的。

于 2013-03-15T03:14:46.420 回答
0

我遇到了这个问题,并找到了答案:要么是我用手指粗了电话,要么没有注意,或者它根本没有弹出说这里是 RSA pubkey 检查以允许计算机,我一直处于离线状态。我遵循地图上的每一个方向,从在我的规则文件中有一个长列表到重新安装 ADB 50 次。是的,它确实需要是我拥有的 1.0.31 版本。如果这是您,请继续阅读......

断开您的设备。假设您使用的是 BASH,请在终端中使用这些命令。

adb kill-server
sudo bash
cd ~
mv .android BAK.android

现在您已经有效地删除了初始 RSA 密钥,请确保在设备上启用了 USB 调试。重新连接设备并注意屏幕。确保选中“记住这台计算机”框。按确定。问题解决了。

于 2013-05-30T06:33:31.633 回答
0

我有同样的问题。不确定它是否适用,但您是否使用 adb 作为根?

对我来说,杀死 adb 服务器并执行以下操作:

sudo ./adb devices list

导致安全提示。在永久接受它并运行上面的命令后,我终于可以连接它了。

于 2013-07-13T06:14:11.007 回答
0

我遇到了与 OP 相同的问题,但源自C:\Windows 中的 adb.exe 副本,很像user1269737似乎没有。这在 Windows PATH 中具有优先权,因此无论我更新了多少 SDK,它都无济于事,因为没有使用更新的 ADB。

有人告诉我,它可能是安装在那里的 Android Studio 捆绑包的一个版本(看图...)。我无法确认,因为: 1. 当前的 AS 捆绑包似乎没有这样做,并且... 2. 我安装了很多捆绑 ADB 的 ROM 闪存器/工具(XDA 开发人员的东西)。

所以我无法确认它是 Android Studio。

Protip:在cmdadb version中使用和where adb命令来检查您正在使用的版本以及正在运行的可执行文件

于 2014-09-02T13:00:21.883 回答
0

我尝试了所有这些方法,但仍然无法让 Windows 在我的 Android 设备上显示 RSA 提示符。几个小时后,这就是我让它工作的方式:

  1. 通过 USB 将设备连接到 PC
  2. [Windows 键] + [R] > [类型] devmgmt.msc
  3. 在列表中找到您的设备
  4. [右键单击] > 卸载
  5. 下载谷歌USB驱动包:http: //developer.android.com/sdk/win-usb.html#top
  6. 解压压缩包到桌面
  7. 返回 devmgmt.msc > [右键单击] 树的根 > 扫描硬件更改
  8. 在列表中找到您的设备
  9. [右键单击]您的设备 > 安装 > 选择/浏览文件
  10. 浏览到您提取到桌面的 usb_driver 文件夹
  11. Windows 将使用 Google USB 驱动程序而不是您手机的驱动程序。

我的问题是 LG 驱动程序安装在 Windows 上。一旦我删除它并安装了谷歌驱动程序,它就可以完美运行。RSA 提示立即显示。

于 2015-08-31T15:48:29.583 回答