Android ADB没有权限


33

我正在尝试从Ubuntu(+ Cinnamon)计算机使用adb。问题是我从adb设备收到以下消息:

List of devices attached
TA8830OIVO  no permissions

TA8830OIVO是我的Motorola G设备。

我在/etc/udev/rules.d/51-android.rules中更改了android规则

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e76",
MODE="0666", GROUP="plugdev", SYMLINK+="android_adb", OWNER="axel"

我还重新启动了udev服务,并将adb安装在我的个人笔记本电脑上,我是拥有所有必需特权(plugdev组等)的唯一用户。

有没有一种方法可以在不调用sudo的情况下运行adb ?


1
重新启动udev,sudo udevadm trigger对我不起作用。我必须重新启动计算机,然后它才能正常工作
Rafael Xavier

Answers:


65

将手机中的USB模式更改为文件传输。那对我有用。


对我而言则相反:在某些旧设备上的文件传输模式下,USB调试不起作用。
Miha_x64 '18

1
更新:刚刚注意到在我的手机(Android一部)中,在开发人员设置的充电模式下也可以启用USB调试。
NuttLoose

2
更改为文件传输模式对我有用。在android 7上
Abrar

Kindle Fire 8 2019-开发人员选项中的USB配置中的“ MTP模式”。
Bill McGonigle

我进行了更改,然后在设备上提示我允许进行USB调试:D
Maxwell sc

27
  1. 请记住运行sudo udevadm trigger以应用更改(或重新启动,但是这样做的乐趣在哪里)。
  2. 而不是编写自己的规则,请使用https://github.com/M0Rf30/android-udev-rules
  3. 确保您拥有最新的ADB版本(1.0.35 102d0d1e73de-android)。较早的版本不适用于USB-C。

谢谢,但是这是一个老问题。我2年前改用Mac。我发现做lsusb之类的东西很愚蠢,然后在应该自动完成时修改规则……经过了这么多年的ubuntu使用,我放弃了。找不到合适的Linux桌面系统。
shadox

1
这个问题已经有6个月了,但对后代仍然有效。1年前,经过3年的交往,我放弃了OS X,出于类似原因,又回到了Linux;)。Linux的某些部分令人沮丧,但是如果您使用homebrew + zsh + iTerm2,在OS X中也需要进行类似的修补。所不同的是,这些东西大部分是开源的或过时的FOSS版本,但是具有不错的GUI和UX(大部分情况下)。使用回购中的规则,它几乎是一次性设置步骤。考虑到让Android SDK以一种明智的方式正常工作的秘诀,就像蹒跚学步一样。
zamber

1
运行此命令service udev restart对我不起作用。我必须重新启动计算机,然后一切正常。
拉斐尔·哈维尔

在ubuntu 16.04上设置udev规则,将手机上的usb模式更改为文件传输就像是一种魅力。无需重启。
Gautam '18年

在使用Pixel 2的ubuntu 16.04上,从点2的gitbub添加规则的工作原理甚至都没有进入文件传输模式。
Mike Hanafey,


0

定义自定义gradle函数:

task _adb_restart {
def adb = android.getAdbExe().toString()
group '__custom'
  doLast {
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' kill-server'
    }
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' devices'
    }
  }
}

0

最好的解决方案以及对我而言更有效的方法是adb从Ubuntu软件包安装。这为您提供了由社区维护udev的所有Android设备默认规则集。

例:

$ sudo apt-get install adb

0

对于基于Android操作系统的Amazon Fire OS 8,您可以转到“设置>设备选项>开发人员选项”。您可能需要启用它

确保已打开“ USB调试”。

然后转到“网络>选择USB配置”。选择“ MTP(媒体传输协议)”。这使计算机可以来回发送文件。


0

删除通过apt安装的adb软件包

$sudo apt remove adb

https://developer.android.com/studio/releases/platform-tools下载最新的adb

设置平台工具的路径(最好将这两行放在〜/ .bashrc文件中)

export PATH= /<path-to-android-sdk-folder>/android-sdk/tools/bin<br>
export PATH= /<path-to-android-sdk-folder>/android-sdk/platform-tools


$source ~/.bashrc

检查adb路径

$which adb

在sudo中启动adb(在sudo中运行时,我需要给adb绝对路径)

$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb kill-server
$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb start-server
$adb shell

完成。
无论Android手机采用哪种USB模式(MIDI,传输文件,充电),它都可以正常工作。它适用于所有。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.