我使用的是三星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

为什么?我错过了什么?


当前回答

我的设备是POSITIVO,操作系统是Ubuntu 14.04 LTS 我的问题在于变量名

我创建文件/etc/udev/rules.d/51-android.rules and put子系统=="usb", SYSFS{idVendor}=="1662", MODE="0666"

我断开了设备 和执行:

$ sudo udevadm control --reload-rules
$ sudo service udev restart

在此之后,我再次以开发者模式连接android设备

$ adb devices

List of devices attached 
1A883XB1K   device

其他回答

您也可以尝试编辑adb_usb.ini文件,位于/home/username/.android/。此文件包含要连接的设备的id供应商列表。您只需在新行中添加设备的id供应商(每行一个id)。然后重新启动adb服务器并重新插入设备。

它在Ubuntu 12.10上对我有效。

你不应该像其他答案建议的那样以root用户运行adb服务器。相反,如果你正在使用Arch Linux,请执行以下操作:

使用Pacman软件安装android-udev包 重新加载udev规则: # udevadm control——重新加载规则 将自己加入adbusers组,然后注销并登录: # usermod -aG adbusers $LOGNAME

来源:https://wiki.archlinux.org/index.php/android Configuring_adb

如果你使用的是debian,比如Ubuntu, deepin等,你可以尝试运行

sudo apt-get install android-sdk-platform-tools-common

瞧,你的问题解决了

当你将usb连接到电脑时,它会询问你是否信任电脑来调试手机上的应用程序。单击“是”就解决了问题

输入如下命令:

# 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.