平板电脑安装但adb设备无法识别ubuntu 14.04中的平板电脑

时间:2014-09-23 14:13:50

标签: linux ubuntu adb

我正在尝试将adb与平板电脑配合使用。平板电脑及其文件树在Files目录导航器中被识别,我可以导航到/media/me/SP1020

我不明白为什么adb无法识别设备。我从终端运行这些说明:

adb kill-server
adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
adb devices
    List of devices attached 

没有显示任何内容。

lsusb将设备ID列为:

Bus 001 Device 004: ID 1f3a:1000

所以我在〜/ .android中使用vim在adb_usb.ini的顶部输入了这个ID“0x1f3a”;在此工作不起作用后,我删除了此文件adb_usb.ini,我也尝试输入

echo "0x1f3a" > ~/.android/adb_usb.in

这次保留文件。我还在/etc/udev/rules.d中创建了一个51-android.rules文件,内容如下:

SUBSYSTEM=="usb",SYSFS{idVendor}=="1f3a",MODE="0666"

然后我重新启动了我的系统和我的平板电脑,并尝试了

adb kill-server
adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
adb devices
    List of devices attached 

仍然没有显示任何内容。

这里也是usb / 004的内容

ls -l /dev/bus/usb/004
total 0
crw-rw-r-- 1 root root 189, 384 Sep 23 09:53 001

3 个答案:

答案 0 :(得分:1)

这是我用来检测和注册系统中所有bash设备的adb函数:

UpdateAdbUsbIni () {
    INIFILE=${1:-$HOME}/.android/adb_usb.ini
    mkdir -p $(dirname $INIFILE)
    DEVICES=$(find -L /sys/bus/usb/devices -maxdepth 2 -path "*/modalias" -printf "%h\t" -exec cat {} \; | awk -F: '/icFFisc42ip0/ {print $1}')
    echo -e "\nRegistering Vendor IDs for the following ADB devices:"
    for D in $DEVICES
    do
        echo -e "\tDEVPATH=$D Serial=$(cat $D/serial) VendorID=0x$(cat $D/idVendor) ($(cat $D/manufacturer))"
        echo "0x$(cat $D/idVendor)" >> $INIFILE
    done
    VIDS=$(grep ^0x....$ $INIFILE | sort -u)
    echo "$VIDS" > $INIFILE
    return 0
}

此功能不依赖于现有的adb配置。因此,如果它没有列出任何设备 - 这意味着没有连接的设备枚举了adb个接口。

这是另一个有用的功能:

InstallUniversalAndroidUdevRule () {
    RULE='ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:ff420?:*", MODE="0666", GROUP="plugdev", SYMLINK+="android/$env{ID_SERIAL_SHORT}"'
    RULEFILE="/etc/udev/rules.d/${1:-90}-universal-android.rules"
    if [ "0$(id -u)" != "00" ]; then echo "No permission to add the universal Android udev rule!"; return 1; fi
    echo "$RULE" > $RULEFILE
    udevadm control --reload-rules
    udevadm trigger --action=add --subsystem-match=usb
    return 0
}

此功能添加了通用的android udev规则,该规则可匹配所有android设备,无论制造商如何。它确实需要root权限才能运行。

这个问题促使我终于完成了我的The most comprehensive write up on how to properly install adb in a debian-based linux environment

答案 1 :(得分:0)

哇,我是个白痴。

我尝试了UpdateAdbUsbIni脚本,没有得到任何响应,然后检查设备是否有任何问题。原来在"设置" - > " {}开发者选项"," USB调试"没有检查。当我选中此选项并重新连接设备时,我得到了:

adb devices
   List of devices attached 
   4d773808680064314c9  device

感谢Alex P!

答案 2 :(得分:-2)

在我的系统(Ubuntu 12.04)上,您必须以root身份运行adb kill-server / adb start-server。尝试使用:
sudo adb kill-server
sudo adb start-server