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

为什么?我错过了什么?


当前回答

尝试使用用户的主组而不是GROUP="plugdev"。

其他回答

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

请按照http://developer.android.com/guide/developing/device.html(Archived链接上的说明进行操作) 将/etc/udev/rules.d/51-android.rules中0bb4的供应商id替换为18d1 或者再加一行: 子系统=="usb", SYSFS{idVendor}=="18d1", MODE="0666" 重新启动计算机或重新启动udev服务。

我也遇到了同样的问题,我采取了以下步骤:

# Clone this repository
git clone https://github.com/M0Rf30/android-udev-rules.git
cd android-udev-rules
# Copy rules file
sudo cp -v 51-android.rules /etc/udev/rules.d/51-android.rules
# OR create a sym-link to the rules file - choose this option if you'd like to update your udev rules using git.
sudo ln -sf "$PWD"/51-android.rules /etc/udev/rules.d/51-android.rules
# Change file permissions
sudo chmod a+r /etc/udev/rules.d/51-android.rules
# If adbusers group already exists remove old adbusers group
groupdel adbusers
# add the adbusers group if it's doesn't already exist
sudo mkdir -p /usr/lib/sysusers.d/ && sudo cp android-udev.conf /usr/lib/sysusers.d/
sudo systemd-sysusers # (1)
# OR on Fedora:
groupadd adbusers
# Add your user to the adbusers group
sudo usermod -a -G adbusers $(whoami)
# Restart UDEV
sudo udevadm control --reload-rules
sudo service udev restart
# OR on Fedora:
sudo systemctl restart systemd-udevd.service
# Restart the ADB server
adb kill-server
# Replug your Android device and verify that USB debugging is enabled in developer options
adb devices
# You should now see your device

以上步骤在android-udev-rules中描述。这对我很管用。

只要确认将出现在您的手机屏幕上的对话框后,重新插上它。

尝试使用用户的主组而不是GROUP="plugdev"。

这快把我逼疯了。首先,这里的一些老建议会让你的arch linux系统变砖。我不得不从备用USB启动来撤销规则破解。在我的一个案例中,我无法让我的android在插入USB时提示授权主机,并且有和其他人一样的症状:

$ sudo adb devices
List of devices attached
89MY08NPA       no permissions; see [http://developer.android.com/tools/device.html]

身为根并不重要。

进入android的USB设置,确保“使用USB”设置为“文件传输”。由于某种原因,我的手机被设置为没有数据传输,尽管我已经在这款手机上做了多年的android开发工作。一定是谷歌的某些更新将其翻转到另一个设置。

一旦将其设置为文件传输,就会提示允许从主机调试并恢复正常