Eclipse:Android设备选择器 - 未知的Android 2.3.4设备

时间:2011-09-14 16:46:51

标签: android debugging eclipse-plugin

我有一台运行Android 2.3.4的Nexus One手机。我正在尝试使用USB开放附件库构建应用程序。为此,我选择了Google API 10作为构建目标。该项目实际上是Microchip提供的应用程序,我知道该设备可以使用。我手动将应用程序的APK安装到手机上,它可以工作。现在我希望能够调试和修改应用程序。

当我按下“运行”按钮时,需要选择一个平台。 Android设备选择器窗口会在插入Nexus One时显示以下内容:

Android Device Chooser

有什么想法吗?

谢谢,

编辑:我在Linux开发环境中工作。特别是Fedora 14。

8 个答案:

答案 0 :(得分:27)

解决方案是为设备创建一个udev规则。有关如何为特定供应商设备设置udev规则,请参阅http://developer.android.com/guide/developing/device.html#setting-up

遵守规则。 Eclipse能够启动和调试。

device

答案 1 :(得分:12)

假设您使用的是Linux: 您的设备节点权限很可能是错误的。通过发出:

检查是否属实
adb kill-server
sudo adb start-server
adb devices 
在您的计算机上

。这将以root身份启动adb-server。如果这项工作,如果您遗漏sudo它不起作用,则您有权限问题。

解决方案取决于您的发行版和已安装的版本,请检查this blog entry,其中说明了如何为Ubuntu生成udev文件。

答案 2 :(得分:4)

也可能是Nexus One没有USB供应商ID,其中Nexus One在adb / Eclipse中显示为“?????????”。因此,如果您希望它识别,那么您必须遵循以下步骤:

1.  Follow the instructions at  http://developer.android.com/guide/developing/device.html
2.  Replace the vendor id of “0bb4″ with “18d1″ in /etc/udev/rules.d/51-android.rules. 
    Or add another line that reads:
        SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
3. restart computer or just "sudo service udev restart"

答案 3 :(得分:2)

将此文件复制到/etc/udev/rules.d /

并重命名为“51-android.rules”并添加权限chmod a + r

#/etc/udev/rules.d/51-android.rules

#Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="plugdev"

#ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev"

#Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", GROUP="plugdev"

#Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", GROUP="plugdev"

#Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", GROUP="plugdev"

#Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"

#HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

#Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"

#K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", GROUP="plugdev"

#KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", GROUP="plugdev"

#Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", GROUP="plugdev"

#Lenevo
SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", GROUP="plugdev"

#LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"

#Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"

#NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="plugdev"

#Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", GROUP="plugdev"

#Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", GROUP="plugdev"

#OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", GROUP="plugdev"

#Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", GROUP="plugdev"

#Pegatron
SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"

#Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", GROUP="plugdev"

#PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", GROUP="plugdev"

#Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"

#SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", GROUP="plugdev"

#Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"

#Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", GROUP="plugdev"

#Sony
SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", GROUP="plugdev"

#Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev"

#Teleepoch
SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", GROUP="plugdev"

#Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev"

#ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"

答案 4 :(得分:1)

您可以输入sdk / platform-tools并在Ubuntu中使用su运行。 然后杀死并重新启动adb服务。

现在可以识别设备名称。

答案 5 :(得分:1)

尝试以上都没有工作..当我从MTP切换到相机(PTP)时终于工作了。

答案 6 :(得分:0)

试试这个:

./adb kill-server &&
sudo ./adb devices

答案 7 :(得分:-1)

安装此http://pdanet.co/

然后重新连接你的设备....然后它会要求你接受一些证书或类似的东西....按ok

完成!:D