Android 4.2.2 - adb离线,即使在SDK升级后也是如此

时间:2013-02-25 17:49:29

标签: android adb android-4.2-jelly-bean

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


我将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安全弹出窗口。

15 个答案:

答案 0 :(得分:18)

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

我通过运行以下内容并检查读数来找到奇怪的位置:

adb kill-server
set ADB_TRACE=all
adb nodaemon server

更新位置并重新启动电脑后,它现在运行正常。感谢所有回复的人。

答案 1 :(得分:8)

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

  1. 使用以下命令检查您的adb版本:Windows的adb version和Linux的./adb version
  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. 至少重启你的设备一次.. :)它适用于所有设备......

答案 2 :(得分:6)

我遇到了完全相同的问题,这对我有用:如果您在Nexus 7设备上创建了多个用户帐户,那么除非您已登录到该设备,否则您将无法获得安全弹出窗口用于在设备上启用USB调试的帐户。这样做,当你看到弹出窗口确保你选中“总是信任这台电脑”的选项时,它也适用于其他帐户。

答案 3 :(得分:3)

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

答案 4 :(得分:3)

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

adb kill-server
  

adb devices

在电话上弹出即可。

您的设备已连接。

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

答案 5 :(得分:2)

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

  1. 打开计算机 - 在文件管理器中管理
  2. 在系统工具/设备管理器上,删除所有与Android相关的项目。
  3. 点击“扫描硬件更改”。
  4. 设备显示为警告标志。
  5. 右键单击该设备,单击“更新驱动程序软件”。
  6. 选择ANDROID_SDK_HOME \ sdk \ extras作为驱动程序源。
  7. 在设备上,关闭和打开(或多次)关闭USB调试
  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 versionwhere adb命令来检查您正在使用的版本以及正在运行的可执行文件

答案 14 :(得分:0)

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

  1. 通过USB将设备连接到PC
  2. [Windows Key] + [R]> [type] devmgmt.msc
  3. 在列表中找到您的设备
  4. [右键]>卸载
  5. 下载Google USB驱动程序包:http://developer.android.com/sdk/win-usb.html#top
  6. 将zip解压缩到桌面
  7. 返回devmgmt.msc> [右键单击]树的根>扫描硬件更改
  8. 在列表中找到您的设备
  9. [右键单击]您的设备>安装>选择/浏览文件
  10. 浏览到解压缩到桌面的usb_driver文件夹
  11. Windows将使用Google USB驱动程序而不是手机的驱动程序。
  12. 我的问题是在Windows上安装了LG驱动程序。一旦我删除并安装了谷歌驱动程序,它就完美无缺。 RSA提示立即显示。