adb坏了 找不到设备

现象,两台pc电脑,都是xp系统,一台已经找不到adb devices,另外一台是好的;

第一台机器可以找到安装了老android的手机,就是找不到安装了android4.4的手机。

在device manager里面,看得到端口和android Composite ADB interface都是正常的。

1. 必须更新版本 for android4.4 kitkat

运行android sdk下面的sdk manager,更新adb的版本。

更新好以后,验证adb的版本

adb version

Android Debug Bridge version 1.0.31

注意:

adb可能存在于很多地方,android sdk下面,windows/system32下面,%adb_home%下面,很多android相关的框架里面也都有。

要注意%path%的设置,必须保证最新版本adb的放在前面

2.替换.android文件夹

备份原先的.android文件夹

有两个地方需要更换,

第一个是user/.android

第二个是%android_home%/.android

 但是我们一般只要更换一个就可以了,设置环境变量ANDROID_SDK_HOME以后就只要使用%android_sdk_home%/.android了。

而且也不需要更换所有的文件,其中一个关键的文件是adb_usb.ini文件。

增加下面一行(这是spreadtrum的vender id)

0x1782


更换好了,adb devices 发现android4.4手机显示为unauthorized

在手机上面有个提示,授权该pc可以对该手机做操作。

这时候再adb devices,显示为device了。

这样就OK了,perfect。


总结:4.4加上了很多安全性方面的考虑,除了sms的默认app以外,对于手机的adb shell管理也需要获得该手机的授权。

另外,驱动程序已经安装好,设备管理器里面显示正常的情况下面,仍然无法adb devices的情况下面,可以考虑.android是不是已经坏了。

 

 后记:

在配置ubuntu的android sdk的时候,发现需要提供一个厂家特别的ID数字。

其实windows下面的android厂家的那个神秘数字,也是可以配置的,但是我们在安装手机驱动的时候会自动帮我们设置这个数字。

不过也有碰到这种情况,这个数字需要我们自己去配置,那么位置在哪里呢?

就是 user/.android/adb_usb.ini

这个文件其实是android自动产生的,通过命令 android update adb产生。

这个里面有那些第三方usb vender id list,有时候是空白的但是这个文件必须存在,我们的手机也照样用,奇怪,呵呵。