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,有时候是空白的但是这个文件必须存在,我们的手机也照样用,奇怪,呵呵。