为什么 Eclipse 的 Android 设备选择器没有显示我的 Android 设备?

我正在使用 Eclipse 的 Android 插件,当我试图通过 Android 设备选择器使用真正的设备运行我的程序时,我的手机没有被列为设备。我已经更新了 Eclipse、所有的 Android 软件包和 USB 驱动程序,但它仍然没有出现。我的手机运行的是 Android 2.1,这也是 Eclipse 项目中列出的目标版本。

此外,设备显示为一个未知的目标和序列号作为问号,如屏幕截图所示。

Android Device Chooser

95024 次浏览

I just had the same issue with the Motorola Droid. I had 3 devices and only 1 was detected in the ADB. The one that worked showed up in device manager as "android adb composite interface" and the 2 that did not work showed up as "android adb interface". In Windows 7 I did the following.

  1. Right Click Computer then Manage
  2. Expand Android phone at the top of the list
  3. Right click Android ADB Interface then Update Driver Software
  4. Browse my computer for driver software
  5. Let me pick from a list of device drivers on my computer
  6. Choose USB Composite Device then next

If USB Composite Device doesn't show up then try browsing to the usb_driver folder in your android sdk directory for step 5 then try step 5 and 6 again.

Note : If Android does not appear at the top of this list as described in #2 and/or you find a device ADB with no drivers then you probably need to install the device driver, which in my case (HTC Glacier) was located right on my phone.

I figured it out, though it sounds like we have different problems. However, just in case this helps you.

First of all your manifest has to have the android:debuggable="true" attribute in the Application node. You probably have this, and I don't know if it actually contributes to the device showing up or not.

In any event, the thing I was doing wrong was when I run or debug my configuration (in Eclipse) under the target tab (where it lists your emulator device setups) I had the Automatic radio button checked. If you flip that to manual it then gives you another dialog when you hit Run, and in THAT dialog, on the top, I see my device.

Lastly, (and I only see this on the Droid X) when you are in PC mode the device doesn't act as though it's connected to the machine. When you're in Mass Storage mode, everything works as expected BUT then the SD card is disabled, so, if your app happens to WRITE to the SD card it will fail at that point in execution. The Captivate (my other test device) does not suffer from the same problem.

Did you try from your command line (assumed linux)

adb devices

If you got a lot of question marks

List of devices attached
??????????????    device

Check what is the vendor ID of your device:

lsusb
> Bus 003 Device 006: ID 04e8:689e Samsung Electronics Co., Ltd

Vendor ID is '04e8' in this case.

You need to add your device to USB list

sudo vim /etc/udev/rules.d/51-android.rules

and put this line (use your own vendor ID).

SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"

Alternatively try the following syntax as pointed out by mcordaro and Yekmer Simsek referring to the documentation

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

save it, and then

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo service udev reload

and it should work now.

There is one thing some could not remember. Like myself, if you tried to run adb with superuser credentials following a run with regular user credentials, don't expect success. First, you have to kill adb which was run with lousy rights and start it again with sudo:

marek@deb42:~$ sudo adb kill-server

marek@deb42:~$ sudo adb devices

If you are using Eclipse, then see if Eclipse inadvertently converted your project to be a native java project. Do this by right clicking on your project name in eclipse and selecting the option "Convert to Android Project"

I had the same problem and after trying many of the solutions posted above finally tried changing the cable and it worked instantly.

Another thing you can try is looking for the USB drivers from the manufacturers website. Windows Update does not always include these drivers. My Acer Iconia a700 tablet would not show up in Eclipse until I downloaded and installed the drivers from Acer's website.

I have the same problem with xiaomi phone. Eclipse can detect all my other devices (including samsung and huawei).

Tried all the above and finally found the solution: just key in " ##717717## " and call and it will work!

Unfortunately, the above solutions didn't work on my Samsung device Ace 2. But Installing Samsung Kies solve the problem

Install pdaNet(http://pdanet.co/a/) In between the installation if you get this message "Skip USB or something" in a pop up, close the pop up, unplug device then plug device, continue installation. Now eclipse should list your device :)

Sometimes adb stops running on my mac, a simple:

adb kill-server
adb start-server

and restarting adb debug on the device will reconnect it.

I updated my Motorola drivers for my Droid 3 at some point, and then ADB could not find the device. After reading this question and top answer and still didn't work, I tried removing the driver first. Then unplugging the device, then replugging it in, Windows found and loaded the correct drivers. Joy! Hope this help someone else.

A ridiculous thing worked for me, I ran the app then when the device window opened up I swapped which port the cord to the device was plugged into on my mac and bam found the device! Good luck this stuff can be tricky

Check that your device connected as PTP device(Camera). Notification Bar -> USB Connection. If your device connected as MTP(as common data storage) then AndroidStudio don't recognize it as debuggable device. At least that works for me and my Nexus.

Ensure Debug mode is turned on, as well as allowing installations from unknown locations, if the problem continues, unplugging the device, rebooting and plugging the device back in should work. Another common problem is not having USB drivers installed, to solve this go on to SDK Manager and in Extras, download/update USB drivers

The device was not showing up because of the following line in android manifest file---

<uses-sdk android:minSdkVersion="18"
android:targetSdkVersion="18"/>

I changed it to---

<uses-sdk android:minSdkVersion="8"
android:targetSdkVersion="19"/>

Now it worked.

After adding file to udev directory according to Yekmer Simsek, your /var/log/syslog will be showing this in log, when you RE-plug your device:

Jul  3 16:18:10 jupiter kernel: [16866.411654] usb 2-1.2: USB disconnect, device number 7
Jul  3 16:18:15 jupiter kernel: [16871.221603] usb 2-1.2: new high-speed USB device number 8 using ehci-pci
Jul  3 16:18:15 jupiter kernel: [16871.315693] usb 2-1.2: New USB device found, idVendor=18d1, idProduct=d002
Jul  3 16:18:15 jupiter kernel: [16871.315704] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jul  3 16:18:15 jupiter kernel: [16871.315710] usb 2-1.2: Product: Nexus 5
Jul  3 16:18:15 jupiter kernel: [16871.315715] usb 2-1.2: Manufacturer: LGE
Jul  3 16:18:15 jupiter kernel: [16871.315719] usb 2-1.2: SerialNumber: 0650f8e00ae573dc
Jul  3 16:18:15 jupiter mtp-probe: checking bus 2, device 8: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2"
Jul  3 16:18:15 jupiter mtp-probe: bus: 2, device: 8 was not an MTP device

Hope this solution will fix your mood this time!

Issue: My Android Device isn't recognized by the Eclipse ADT, why?

Cause: Device Driver was missing as it seemed at the end when I fixed it!

How to Fix:

  1. Search through web (using Google) "LG < Your_Phone_Model Number > Drivers Download".(Ex.:- Go to About phone in your settings list > Model Number, for me it's LG-E400f)
  2. Mostly the first few links are related to the required Device Driver download page.(Ex.:- for me I got the following link and for each device driver LG or most of the other vendors/manufactures have that kind of a Manuals and Drivers Page) Visit that page mentiioning about software update and drivers downloads.
  3. Scroll down to the section of "Manuals and Software Update" and doing just the Step 1 was enough for me, which is "Install the USB DRIVERS "
  4. Download it(for Mac or Windows) > Install It > Check Your Eclipse ADT > and it should be visible under Devices tab by now

Cheers!!!
Hope this helps to someone else to clearly get to the solution!

On Window Machine Just Install adbdriver. It will autometicall get competible drivers for the connected Android Device.

I hope this will help everyone who is facing this issue.