我在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
Run Code Online (Sandbox Code Playgroud)
所以我的"供应商ID"是0e79,不是吗?
在下一步中,我创建了以下文件:
sudo kate /etc/udev/rules.d/51-android.rules
Run Code Online (Sandbox Code Playgroud)
具有以下内容:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0e79", MODE="0666"
Run Code Online (Sandbox Code Playgroud)
之后我设置了权限:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
Run Code Online (Sandbox Code Playgroud)
然后我保存了它并重新启动了udev:
sudo /etc/init.d/udev restart
Run Code Online (Sandbox Code Playgroud)
完成所有这些步骤后,adb仍然无法显示我的设备:
michael@schlepptop777:~/.android_sdk/platform-tools$ ./adb devices
List of devices attached
<empty line, because stackoverflow does not display this>
Run Code Online (Sandbox Code Playgroud)
Jar*_*iuk 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
Run Code Online (Sandbox Code Playgroud)
请注意,升级SDK时可能会覆盖此文件,因此您可能需要在以后重新编辑它.
Mageia 2
起初,我有类似的东西:
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
Run Code Online (Sandbox Code Playgroud)
然后我发现我需要做设置| 应用| 开发并检查USB调试复选框.
$ adb devices
List of devices attached
???????????????? no permissions
Run Code Online (Sandbox Code Playgroud)
以root身份尝试,我得到了:
$ su -l
# adb devices
List of devices attached
???????????????? no permissions
Run Code Online (Sandbox Code Playgroud)
然后我意识到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
Run Code Online (Sandbox Code Playgroud)
适用于Android开发者的ADB(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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
"脱机"时设备无法运行.为了解决这个问题,我必须重新启动Archos 43.
$ adb devices
List of devices attached
A43-A44C0002-9BF80000-0C60C4CC-0D020027 device
Run Code Online (Sandbox Code Playgroud)
虽然我怀疑这些操作是必需的,但为了安全起见,重新启动后,我确保在设置USB调试之前插入USB并选择仅充电.我还禁用了WiFi和同步,但是一旦它开始工作,adb仍然会与那些正在连接的人连接.
此时,下载我的应用程序:
$ adb install bin/HelloWorld.apk
2914 KB/s (157589 bytes in 0.052s)
pkg: /data/local/tmp/HelloWorld.apk
Success
Run Code Online (Sandbox Code Playgroud)
PS第二天,我知道前一天晚上一切正常,我启动了我的开发系统,并尝试再次连接.这给了"离线"状态.我禁用了同步和WiFi,没有重启Archos 43,然后adb devices显示"设备"状态而不是"离线".我不知道该怎么做,但是把这些东西关掉可能会有意义.
| 归档时间: |
|
| 查看次数: |
43777 次 |
| 最近记录: |