我运行Ubuntu 10.10 64位。 我有与Android调试桥版本1.0.26一起安装IA32-库。
我的问题(S):
-
adb devices
>>> ???????????? 没有权限 -
sudo adb devices
>>>>须藤:亚行:找不到命令 -
adb shell
>>>错误:对设备权限不足
我想这些都是相关的。 以下是相关信息。
$ echo $PATH
/home/me/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/android-sdk-linux_x86/tools:/opt/android-sdk-linux_x86/platform-tools
$ which adb
/opt/android-sdk-linux_x86/platform-tools/adb
$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
???????????? no permissions
$ sudo adb devices
sudo: adb: command not found
$ adb shell
error: insufficient permissions for device
我得到一个植根摩托的Droid运行CM6.1和扎根G-Tab键运行基于CM7-ROM相同的结果。
我已阅读以下相关文章:
- http://forum.xda-developers.com/archive/index.php/t-522827.html
- http://ubuntuforums.org/archive/index.php/t-1164359.html
- ADB命令在Linux环境中未发现
我想大部分(不是全部)的建议,我一直没能解决我的问题。 这个事情我没有尝试似乎不合适。 我希望再提一些建议,我会继续故障排除。
有一件事我没有尝试在编/etc/udev/rules.d/70-android.rules。 是有可能成为问题? 我看不出这会导致“命令:亚行:找不到命令”。 也许我的问题不关联的。 总之,在这一点上我想我需要从其他人的一些输入,因为我不相信我有一个路径问题或与其他帖子讨论的其他常见问题。
编辑:解决由于EboMike和RivieraKid。 这实际上是两个不同的问题:
项目#2的上方(须藤:ADB:未找到命令)解决了通过使一个符号链接如下:
$ sudo ln -s /opt/android-sdk-linux_x86/platform-tools/adb /usr/local/sbin/adb
这让我再做为EboMike建议,并使用该解决方案 。 这样做是需要我的摩托Droid的。 (如不要求我的优派G-平板sudo的,但是运行ADB)。
我的另外两个项目是通过实现udev规则为RivieraKid建议(此解决链接 )。
有一件事我没有尝试在编/etc/udev/rules.d/70-android.rules。 是有可能成为问题?
有什么特别的理由,你为什么不这样做呢? 要回答这个问题 - 是的! 在udev规则是什么Ubuntu的通知你的设备,并允许用户因此空间的工具来访问它。
您将无法使用adb没有正确遵循了说明 。
考虑到这一点。然而,你不说你使用的是什么版本的Ubuntu的,但我有问题,有10.10 - 让我知道如果你需要我后我的规则文件的内容。
不要担心通过sudo运行ADB,你不需要它。 在MODE="0666"
从udev规则允许您使用该设备的任何用户。
编辑:
不要忘了重新加载规则:
sudo udevadm control --reload-rules
编辑#2:
作为@Jesse格里克正确地指出,如果亚行已经在守护模式下运行,你还需要重新启动这个工作:
sudo adb kill-server
我在这里使用sudo的,因为这将确保亚行会被杀死,这是官方支持的方法来停止服务器。 它会自动重新启动下一次亚行被使用,但此时用正确的环境。
在我的Gentoo / Funtoo linux系统我有类似的问题:
我gotting总是不正确的设备描述和权限不够导致的:
# sudo ./adb devices
List of devices attached
???????????? no permissions
# ./adb usb
error: insufficient permissions for device
对我来说,帮助HOWTO来自谷歌。 在我来说,我需要添加udev规则:
# cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
和设置文件系统权限
# chmod a+r /etc/udev/rules.d/51-android.rules
重新插入我的智能手机访问手机后是成功的,它现在也出现在Eclipse的Android设备选配:
# sudo ./adb devices
List of devices attached
3XXXXXXXXXXXXXC device
# sudo ./adb usb
restarting in USB mode
您还可以检查您的用户的成员到plugdev -group。
我读过的每一个答案,表示SUBSYSTEM=="usb"
。 然而,我的(也许是古)的udev需要这种改变以DRIVER=="usb"
。 最后,我可以运行ADB服务器作为非root用户...耶。
它可以启发看udevmonitor --env的输出,然后输出
udevinfo -a -p <DEVICE_PATH_AS_REPORTED_BY-udevmonitor>
请注意,像IntelliJ IDEA的集成开发环境往往开始自己的亚洲开发银行的服务器。
即使手动查杀服务器和运行使用sudo不会在这里帮助一个新的实例,直到你让你的IDE杀死服务器本身。
重新启动亚行作为根服务器为我工作。 看到:
derek@zoe:~/Downloads$ adb sideload angler-ota-mtc20f-5a1e93e9.zip
loading: 'angler-ota-mtc20f-5a1e93e9.zip'
error: insufficient permissions for device
derek@zoe:~/Downloads$ adb devices
List of devices attached
XXXXXXXXXXXXXXXX no permissions
derek@zoe:~/Downloads$ adb kill-server
derek@zoe:~/Downloads$ sudo adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
derek@zoe:~/Downloads$ adb devices
List of devices attached
XXXXXXXXXXXXXXXX sideload
我定我的Debian GNU / Linux系统由overiding系统在这个问题上的规则,方式:
mv /etc/udev/rules.d/51-android.rules /etc/udev/rules.d/99-android.rules
我使用的内容从链接文件: http://rootzwiki.com/topic/258-udev-rules-for-any-device-no-more-starting-adb-with-sudo/
HTC M7一个新鲜运行11 CyanogenMod的。
手机连接USB和圈养我的数据连接。
然后,我得到这个惊喜:
cinder@ultrabook:~/temp/htc_m7/2015-11-11$ adb shell
error: insufficient permissions for device
cinder@ultrabook:~/temp/htc_m7/2015-11-11$ adb devices
List of devices attached
???????????? no permissions
解决方法:启动手机圈养OFF。
cinder@ultrabook:~/temp/htc_m7/2015-11-11$ adb devices
List of devices attached
HT36AW908858 device
我刚刚得到了同样的情况,恢复出厂设置的工作很适合我。