当前位置: 首页 > 面试题库 >

Android调试桥(adb)设备-无权限

邴越彬
2023-03-14
问题内容

我在Fedora Linux 17中以调试模式连接HTC Wildfire A3333时遇到问题。Adb说:

./adb devices
List of devices attached 
????????????    no permissions

我的udev规则(适用于Samsung的第一条规则适用,适用于HTC的第二条规则则无效):

SUBSYSTEM=="usb",SYSFS{idVendor}=="04e8",SYMLINK+="android_adb",MODE="0666",GROUP="plugdev" 
SUBSYSTEM=="usb",SYSFS{idVendor}=="0bb4",SYMLINK+="android_adb",MODE="0666",GROUP="plugdev"

对于三星设备,一切正常:

 ./adb devices
List of devices attached 
00198a9422618e  device

问题答案:

造成此问题的原因与系统权限有关(感谢@IsaacCisneros的建议)。无论如何,HTCWildfire(也许还有其他)从系统中需要的东西比三星设备还多。一个简单的解决方案是将Eclipse作为root用户运行,但是对于像Fedora这样的非sudo
Linux系统来说,这并不是很舒服。

我发现了实现相同目标的另一种方法,该方法似乎对用户更友好,并且与超级用户权限一起运行整个IDE时,安全漏洞较小。请注意,这仍然只是问题的解决方法。系统根使用仅应最小化用于管理任务,并且“adb”旨在与不带SUID的普通用户帐户一起使用。尽管SUID的正确设置非常安全,但每增加一次许可,都可能会导致系统安全漏洞。

1.设置adb二进制文件的所有权(所有者-根,所有者组-user_group):

chown root:user_group adb

2.使用SUID设置权限:

chmod 4550 adb

这将导致类似于以下内容(ls -llh):

-r-sr-x---. 1 root user_name 1.2M Jan 8 11:42 adb

之后,尽管您将使用普通用户帐户,但您将能够以root用户身份运行adb事件。您可以以普通用户身份运行Eclipse,并且应该正确发现HTC。

./adb devices 
List of devices attached 
HT0BPPY15230    device


 类似资料:
  • 信息: 视窗:10 问题: 我手机的屏幕被烧毁了,触摸不起作用。我正试图使用电脑屏幕镜像图像,但我不能。设备上启用了通用串行总线调试,但仍有必要检查设备上的RSA确认对话框,这在屏幕被烧毁的情况下是不可能的。 问题 有没有办法在电脑上镜像智能手机图像,而无需接受设备上的USB调试连接 有没有办法在设备上允许Adb,而无需确认USB调试对话框 你知道我能做什么吗

  • 我试图连接一个Android Studio模拟器到我的博览会应用程序,但我得到这个错误消息: 无法在Android上启动项目:运行adb出错:此计算机未被授权调试设备。请按照此处的说明启用USB调试:https://developer.android.com/studio/run/device.html#developer-device-options.如果您使用GenyMotion,请转到设置-

  • 编辑 我刚把我的android手机连接到我的Mac上。运行时,会看到以下结果 但是当我运行时,我得到了与上面相同的错误。所以也许我的react-native设置有问题? > 由于某种原因,当我在终端中键入时,得到的结果是。但是如果我将行添加到我的文件中,它不会回显任何内容。当我运行命令时,编译器会抱怨未定义ANDROID_HOME。所以我必须再次键入,然后运行命令并将其部署到我的手机。 然而,我的

  • 在Windows,Mac 或 Linux 上远程调试 Android 设备上的实时内容。 TL;DR 设置你的Android设备进行远程调试,并从开发机中发现它。 从您的开发机器检查和调试Android设备上的实时内容。 将来自Android设备的内容屏播到DevTools。 要求 在开始远程调试之前,您需要︰ 在开发机上安装 chrome 32 或更高版本。 如果你使用的 Windows,请安装

  • 本文向大家介绍Android调试桥接模式,包括了Android调试桥接模式的使用技巧和注意事项,需要的朋友参考一下 Android调试桥(adb)是一种多功能的命令行工具,可让您与设备进行通信。ADB很典型,用于与智能手机,平板电脑,智能手表,机顶盒或任何其他可以运行Android操作系统的设备进行通信。我们可以在可能不适合日常使用的Android设备上执行操作,例如在Play商店之外安装应用,调

  • 我genymotion模拟器和我的手机连接,我想通过wifi运行和调试我的应用程序,我找到了这样做的指令,但当我输入此代码时,我得到了这个错误: 我得到这个错误:错误:多个设备/仿真器 如何将我的设备设置为默认值或类似的东西来解决此问题?