无论如何,Eclipse 给了我这个消息,然后弹出了下面截图中的窗口。
自动目标模式:无法检测设备兼容性。请选择一个目标设备。
如果有影响的话,我使用的是 Ubuntu 64 位操作系统。我已经在手机上打开了 USB 调试功能,并告诉手机连接为磁盘驱动器。
有什么方法可以将我的应用程序安装到手机上吗?
更新:由于我使用的是 Ubuntu 操作系统,是否需要执行 这些步骤?虽然它没有提及 Ubuntu 8.10 的情况。
您需要以超级用户模式运行adb服务器(即sudo adb start-server
)。
adb kill-server
),然后以root身份重新启动它(sudo adb start-server
)。 - EboMike尝试一下EboMike所说的,运行sudu adb start-server。
回答你的问题“如何确认我的手机是V2.2?”按下手机的菜单键,然后选择设置、关于手机、软件信息。Android版本就是你要找的数字。但这对你的Hello World示例并不重要。
另外,将手机连接为磁盘驱动器并不重要;这会导致SD卡被卸载。如果你运行或调试试图访问SD卡的应用程序,它实际上会引起问题。你只需选择仅充电,并使用ADB/Eclipse的DDMS视角来在手机和计算机之间传输文件即可。
以下是我在Arch Linux上解决同样问题的步骤:
如其他回复中所提到的,您需要为该设备创建一个udev规则。在此示例中,我使用的是HTC Desire。
(对于HTC,您需要使用“0bb4”)
插入手机后运行lsusb
,您应该会看到类似于Bus 001 Device 004: ID 0bb4:0c87 High Tech Computer Corp. Desire (debug)
的内容。
现在以root身份创建一个udev规则,使用以下命令:
$ sudo vim /etc/udev/rules.d/51-android.rules
添加以下内容(适用于HTC Desire - 根据需要进行编辑):
## Rule for an HTC Desire Android Phone
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c87", MODE="0666", GROUP="users", NAME="HTC Desire"
GROUP 定义了 Unix 组拥有设备节点。
此时,我重新启动了设备,并发现我的手机被检测到了。据说您可以使用以下命令重新加载 udev 规则,但如果这不起作用,请尝试重新启动。
$ sudo udevadm control --reload-rules