我使用的是三星galaxy nexus手机(Android 4.0平台)。

我正在开发Ubuntu linux操作系统上的Android应用程序。我想直接在三星手机设备上运行我的应用程序,所以我执行了以下设置步骤:

在我的项目AndroidManifest.xml文件中,添加android:debuggable="true"到<application>元素 在设备的“设置”中,>安全启用未知源 在设备上,在设置>开发人员选项中启用了USB调试 在我的电脑上,创建了/etc/udev/rules.d/51-android.rules文件,内容如下: 子系统=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="插件开发" 在我的电脑上,执行chmod a+r /etc/udev/rules.d/51-android.rules命令

然后,在我的电脑上,我打开一个终端,执行adb设备命令,我得到:

List of devices attached 
????????????    no permissions

因为我没有看到我的设备,但只有????????????没有权限,然后运行以下命令:

 adb kill-server
 adb start-server
 adb devices

但我还是有:

List of devices attached 
????????????    no permissions

为什么?我错过了什么?


当前回答

仅适用于Ubuntu/ Debian用户: 为了让ubuntu的USB调试工作正常进行,需要做一些具体的事情: 这里描述: https://developer.android.com/studio/run/device 下面是提到的两个步骤。在终端运行这两个命令:

sudo usermod -aG plugdev $LOGNAME
sudo apt-get install android-sdk-platform-tools-common

其他回答

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

在我使用ubuntu 12.04 LTS的情况下,我不得不将HTC Incredible usb模式从充电模式更改为媒体模式,然后设备显示在adb模式下。当然,在这两种情况下,调试都已经打开。

如果任何人在使用adb设备时遇到以下错误消息

no permissions (verify udev rules); see [http://developer.android.com/tools/device.html]

执行以下操作

sudo -s 
adb kill-server
adb start-server

这为我解决了自定义构建android设备上的问题

输入如下命令:

# cd to adb for sudo
cd `which adb | sed -e "s/adb//"`
adb kill-server
sudo ./adb start-server
./adb devices

This happens when you are not running adb server as root.  

我的Galaxy S3也遇到了同样的问题。 我的问题是idVendor值04E8不是正确的。 要找到正确的,请将智能手机连接到计算机,并在终端中运行lsusb。它会像这样列出你的智能手机:

Bus 002 Device 010: ID 18d1:d002 Google Inc.

所以正确的idVendor值是18d1。/etc/udev/rules.d/51-android.rules中的行必须是:

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

然后我运行sudo udevadm control—reload-rules,一切都工作了!