我在Archos 43 Internet Tablet(Android 2.3.26)上打开了USB调试,但adb没有检测到该设备。
我有Kubuntu 11.04。
输出shell命令“lsusb”:
michael@schlepptop777:~/.android_sdk/platform-tools$ lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0e79:1411 Archos, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
所以我的“供应商ID”是0e79,不是吗?
下一步我创建了以下文件:
sudo kate /etc/udev/rules.d/51-android.rules
具有以下内容:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0e79", MODE="0666"
之后我设置了权限:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
然后我保存了它并重新启动了udev:
sudo /etc/init.d/udev restart
完成所有这些步骤后,adb仍然无法显示我的设备:
michael@schlepptop777:~/.android_sdk/platform-tools$ ./adb devices
List of devices attached
<empty line, because stackoverflow does not display this>
答案 0 :(得分:33)
在某些情况下,您还必须将供应商ID添加到此文件中:~/.android/adb_usb.ini
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x0e79
请注意,升级SDK时可能会覆盖此文件,因此您可能需要在之后重新编辑它。
答案 1 :(得分:7)
Mageia 2
起初,我有类似的东西:
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
然后我发现我需要做设置|应用|开发并检查USB调试复选框。
$ adb devices
List of devices attached
???????????????? no permissions
以root身份尝试,我得到了:
$ su -l
# adb devices
List of devices attached
???????????????? no permissions
然后我意识到adb仍然以普通用户身份运行。以root身份,当我做的时候:
# adb kill-server
# adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline
ADB for Android Developers (ARCHOS Internet Tablet)很有帮助,除了我最后以root身份执行此操作:
# cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",
SUBSYSTEM=="usb", ENV{PRODUCT}=="e79/*", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="e79", MODE="0666"
# udevadm control --reload-rules
# udevadm monitor
.
.
.
^C
monitor命令很有用,因为它显示设备连接,断开连接,路径等。
然后我能够以root身份停止服务器运行,并以普通用户身份启动它:
# adb kill-server
# exit
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline
“离线”时设备无效。为了解决这个问题,我必须重新启动Archos 43。
$ adb devices
List of devices attached
A43-A44C0002-9BF80000-0C60C4CC-0D020027 device
虽然我怀疑这些操作是必需的,为了安全起见,重新启动后,我确保在设置USB调试开启之前插入USB并选择仅充电。我还禁用了WiFi和同步功能,但一旦开始工作,adb仍会与正在使用的人连接。
此时,下载我的应用程序:
$ adb install bin/HelloWorld.apk
2914 KB/s (157589 bytes in 0.052s)
pkg: /data/local/tmp/HelloWorld.apk
Success
P.S。第二天,我知道前一天晚上一切正常,我启动了我的开发系统并尝试再次连接。这给了“离线”状态。我禁用了同步和WiFi,没有重启Archos 43,然后adb devices
显示“设备”状态而不是“离线”。我不知道该怎么做,但是关闭这些东西毕竟可能具有重要意义。
答案 2 :(得分:2)
执行命令sudo /etc/init.d/udev restart
后,您必须重启系统!
我知道,这听起来像一个窗户的行为,但我发现这件事之前我已经摔了3个小时。
答案 3 :(得分:2)
我从SD卡读卡器上借了一根电缆,它不适用于adb,虽然它适用于SD卡读卡器。 我尝试了一种新的电缆,并且看不到adb设备识别设备!
答案 4 :(得分:1)
实际上,就像Aultbot一样,更换电缆也对我有用。奇怪的是,当我突然无法与ADB合作时,我使用电缆几个小时。
此外,请确保您接受手机上的连接(Android 4中的新安全功能)
编辑:最近,有关于adb服务的一些问题。如果未启动(使用netstat或类似功能检查或在运行adb命令以获取调试消息之前键入“set ADB_TRACE = 1”),请检查处理该错误消息的线程。一个常见问题是某个其他应用程序正在使用默认端口(通过在adb命令之前键入“set ANDROID_ADB_SERVER_PORT = 12345”来更改端口)。
答案 5 :(得分:0)
我在使用ubuntu 11.04,我可以通过将USB连接模式更改为“Windows Media Sync”来获取连接到Atrix的唯一方法。这首先是奇怪的,但它特别奇怪,因为当它设置为赢得媒体同步时,Windows上的ADB将无法连接。 或者您可以使用无线adb。有几个小部件可以很容易地启用wifi adb。它们显示小部件上的IP地址和所有内容。 :)