Android设备选择器--设备未显示

92

我正在使用Eclipse+ADT,但我的物理设备(如下所列)未在Android Device Chooser上列出。我已经更新了Eclipse和所有的Android包。我的手机运行着Android OS 1.6,与Eclipse项目中列出的目标版本相对应。

此外,我决定尝试在真实设备上进行测试的原因是当我运行我的项目时,模拟器似乎不再正常工作。虽然模拟器启动了,但程序从未执行。有什么想法吗?

(使用Windows 7/t-Mobile MyTouch 3G)


希望这篇文章能够帮助到所有遇到同样问题的人。 - Rupesh Yadav
33个回答

151

首先,确保 Android ADB 能够与您的设备“通讯”。

  • 打开 Windows 命令提示符 (cmd.exe) / Mac 终端。
  • 进入 ADB.exe 所在文件夹 (通过cd),例如 C:\Android\android-sdk\platform-tools。
  • 输入 adb devices

如果您的设备已列出 (序列号已显示),请进行第二个检查。否则,这意味着 ADB 目前无法与您的设备通信。这可能有很多原因,尝试:

  • 在您的设备中,打开“设置” -> “应用程序” -> “开发者选项”中的“USB调试模式”。
  • 在您的设备中,打开“设置” -> “应用程序” -> “开发者选项”中的“允许安装非市场应用程序”。
  • 重启您的 Windows/Mac。
  • 重启 Android 设备。
  • 在 Windows/Mac 中重新安装设备驱动程序。

第二步,请确保将“部署目标选择模式”设置为手动:

  • 在 Eclipse 的 Package Explorer 视图中,右键单击您的项目,选择“运行 As” -> “运行配置……”。
  • 在“运行配置”对话框中,在“Android 应用程序”下。如果您的应用程序不存在,双击“Android 应用程序”创建一个新的配置,并为其命名 (例如您的应用程序)。确保选择此配置。
  • 在右侧区域中,对于 Android 选项卡,请确保您的项目显示在“项目”下;对于目标选项卡,请选择“始终提示选择设备”或“手动”。
  • 单击“应用”并关闭“运行配置”对话框。
    下次运行您的应用程序时,您应该看到设备列表。

您的设备仍然无法显示?好的。第三步,请确保您的“项目构建目标” Android 版本在您的设备中受支持。

  • 检查您的设备的 Android 版本。在设备上,选择“设置” -> “关于设备”。
  • 检查您的项目的 Android 版本。右键单击您的项目 -> 属性 -> Android -> Project Build Target。
  • 确保它不比您设备的版本更新。

3
谢谢,这是我HTC手机的驱动问题。下载并安装最新的Windows驱动程序解决了我的问题。 - aeldron
2
对于Nexus 4,我按照这个网站上的说明安装了驱动程序:http://androidsecurity.wordpress.com/2013/06/05/install-google-nexus-4-adb-usb-drivers-on-windows-android-studio - SaiyanGirl
在上述步骤之后,我看到以下错误: [Xtouck] adb 正常运行。 [Xtouck] 执行 com.example.xtouck.MainActivity 活动启动 [Xtouck] 自动目标模式:使用设备 '0123456543ABCDEFG' [Xtouck] 将 Xtouck.apk 上传到设备 '0123456543ABCDEFG' [Xtouck] 安装 Xtouck.apk... “启动 Xtouck”期间发生内部错误。 com.android.ddmlib.IDevice.installRemotePackage(Ljava/lang/String;Z[Ljava/lang/String;)Ljava/lang/String; - PHP Avenger
项目构建目标是我的问题。 - josef
如果您的设备没有显示出来,可以尝试另一种方法,即确保您已启用了USB计算机连接:设置>存储>USB电脑连接. - bcpettifer
显示剩余3条评论

22

同时记得将“Deployment target selection mode”设置为手动(调试配置 -> 目标标签)


21

在遵循了其他回答中的一些步骤后,以及在此处找到的内容:ADB Driver for HTC Incredible,我不得不发出两个命令才能让我的手机显示出来。

adb kill-server
adb start-server
Finally, after those two commands would my device show up when I ran
adb devices

偶尔,ADB进程可能会卡住(这是技术术语)。当发生这种情况时,上述命令将无法正常工作。我发现在Windows任务管理器的进程选项卡中查找adb.exe,或在Linux下杀死adb的PID,然后使用

adb start-server

通常可以解决这个问题。


20

我认为这是因为设备上没有勾选 USB 调试选项。


设置 --> 应用程序 --> 开发者 - GuybrushThreepwood
3
现在在不同的Android版本中启用USB调试的方法是不同的。请参考我在这里更新的答案:https://dev59.com/1XE95IYBdhLWcg3wkeqq#14042812 - Raj
我曾经遇到过同样的问题,我的设备在高级选项中没有列出来。但后来我发现,问题出在我把 USB 线插错了电脑上!我有两台电脑,混淆了 USB 插口 :) 总是要考虑所有可能的原因。 - Fer
只需按照Android开发者网站上的步骤进行操作:http://developer.android.com/tools/extras/oem-usb.html - vovahost

8
这篇来自Android开发者网站的笔记对我很有帮助:
启用设备上的USB调试功能。在大多数运行Android3.2或更早版本的设备上,您可以在“设置”>“应用程序”>“开发”下找到该选项。在Android4.0及更高版本中,它在“设置”>“开发人员选项”中。注意:在Android4.2及更高版本中,默认情况下隐藏了开发人员选项。要使其可用,请转到“设置”>“关于手机”,然后点击版本号七次。返回前一个屏幕以查找开发人员选项。

10
请确保在“版本号”上轻敲七次,因为其他方式不那么直观易懂。 - Raj
1
我已经解锁了Galaxy Nexus的开发者设置并打开了USB调试,但Eclipse无法识别它。 - Klaasvaak
1
连接时,请确保将其设置为“媒体设备”模式而非“相机”模式。 - aheuermann
我不得不点击“运行”(它显示没有设备),然后在设备切换USB调试关闭,然后再打开。我的设备随后出现在设备列表中。这必须每次运行时都要做 :( - Brett Gregson

4

3
如果在“Debug As”对话框中选择Android应用程序,则应该能够直接将调试器附加到设备上。确保在您的shell上运行adb devices并查看设备列表。如果没有,请重新安装设备驱动程序。您可以使用USBdeview卸载已安装的驱动程序,然后下载并重新安装驱动程序,直到您在运行adb devices时看到设备的序列号为止。 - Arunabh Das

3

其他的答案对我都没用。对我来说,在我重新启动手机后,设备才能在Eclipse上注册成功。具体步骤因手机型号而异。


我在重启两部手机和我的 Mac 后才成功让这两个设备(Android v. 2.3.4 = API 10,v. 4.0.3 = API 15)注册。操作系统为 10.8.2,Android 工具版本为 21.0.0.v201210310015-519525。 - brannerchinese

3

http://developer.android.com/tools/extras/oem-usb.html#InstallingDriver

Windows 7

在Windows 7上首次安装Android USB驱动程序的步骤:

  1. 将您的Android设备连接到计算机的USB端口。
  2. 从桌面或Windows资源管理器中右键单击“计算机”,然后选择“管理”。
  3. 在左侧窗格中选择“设备”。
  4. 在右侧窗格中找到并展开“其他设备”。
  5. 右键单击设备名称(例如Nexus S),然后选择“更新驱动程序软件”。这将启动硬件更新向导。
  6. 选择“浏览计算机以查找驱动程序软件”,然后单击“下一步”。
  7. 单击“浏览”并找到USB驱动程序文件夹。(Google USB Driver位于 \extras\google\usb_driver。)
  8. 单击“下一步”以安装驱动程序。

对于那些在按照这个步骤后仍然遇到问题的人(驱动程序在设备管理器中显示黄色警告标志),请先卸载驱动程序,然后扫描驱动程序更改。我尝试更新驱动程序,但它没有正确地识别文件。卸载/重新安装解决了问题 :-) - Abdo

3

我有一个类似的问题...... 我的问题与使用过高的sdk相关。

我进行了更改:

uses-sdk android:minSdkVersion="17" android:targetSdkVersion="17"/

to

uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"

然后我的问题得到了解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接