在ubuntu下真机调试android程序出现设备没有访问权限
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在ubuntu下真机调试android程序出现设备没有访问权限,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1891字,纯文字阅读大概需要3分钟。
内容图文
![在ubuntu下真机调试android程序出现设备没有访问权限](/upload/InfoBanner/zyjiaocheng/1309/a84fbef2d00448af9c3c6d794209ec1c.jpg)
今天把android的开发环境从windows平台切换到了ubuntu上。
java jdk android-adt android-ndk都下好,环境变量都配好之后,
在调试程序的时候,出现设备没有权限访问,在shell中输入adb devices
出现 ????? no permittion
一看这个,就蒙了。在网上谷歌百度了半天,
出现的答案,感觉大家都是copy过来的,不了解如何真正的去解决这个
问题,也许这些解决方法在某些情况下,有效,而我拿过来,在我这里
完全没有用。
没办法了,还是自己边查资料,边研究,到底怎么回事。
后来知道,这个是设备访问权限的问题。
知道了3种解决方法:
第一种:通过udev的rules文件来改变设备访问权限
在linux下,设备是以文件的形式出现的,对设备的访问,也就是对文件的访问。
linux内核加载的设备,会把设备的信息,放到用户空间sysfs。也就是在/sys中。
以供用户查询设备的信息。假如用户需要修改设备的一些属性,或者在系统加载
和移除设备的时候进行一下操作以及其他一些需求时,应该怎么办呢??
在linux内核版本2.6以后,使用udev来进行设备管理,之前是使用devfs。
udev提供了配置文件/etc/udev/udev.conf和规则文件在/etc/udev/rules.d下面的.rules文件
系统默认的一些规则文件在/lib/udev/rules.d下面。
我们可以通过编写规则文件来改变系统创建设备文件的规则
这里我们需要改变创建设备文件的访问权限。
.rules中的每一行都是一条规则
一条规则有key-values对构成。
键值对又分为匹配键值对和赋值键值对
一条规则至少包含一个匹配键值对和一个赋值键值对
通过匹配键值对去匹配设备,然后在对这个设备执行赋值键值对。
我的规则如下:
SUBSYSTEM=="usb",ATTR{devpath}=="1.1.1",ATTR{idVendor}=="0bb4",ATTR{idProduct}=="0cf0",MODE="0777",SYMLINK+="LZL_HTC"
SUBSYSTEM=="usb",ATTR{devpath}=="1.1.1",ATTR{idVendor}=="0bb4",ATTR{idProduct}=="0cf0"这一部分属于匹配键值对
MODE="0777"这里是赋值键值对,在修改设备的访问权限
在写匹配键值对的时候
可以通过udevadm info -a -n /dev/设备文件名
来查讯设备的信息。
如下所示:
KERNEL=="2-1.1.1"
SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{bDeviceSubClass}=="00"
ATTR{bDeviceProtocol}=="00"
ATTR{devpath}=="1.1.1"
ATTR{idVendor}=="0bb4"
ATTR{speed}=="480"
ATTR{bNumInterfaces}==" 2"
ATTR{bConfigurationValue}=="1"
ATTR{bMaxPacketSize0}=="64"
ATTR{busnum}=="2"
ATTR{devnum}=="10"
规则文件的命名要注意了
udev会通过文件名的assii码的升序来遍历规则文件
然后匹配上的规则文件都会生效。
所以会发生覆盖的现象。
所以假如要自己的规则生效一定要在后面执行规则。
添加了规则文件后,可以通过sudo udevadm trigger
人工触发udev,使规则文件生效。
udev 的知识可以参考:https://wiki.archlinux.org/index.php/Udev#Installation
第二种:用root用户去调试android程序或者用root用户去启动adb服务。
如:
sudo ./adb kill-server
sudo ./adb devices
第三种:手动修改设备文件的访问权限
我们知道linux会在/dev下面产生相应设备的设备文件
在这里找到相应的设备文件,通过chmod来修改访问权限就好了。
原文:http://www.cnblogs.com/lzl-sml/p/3664576.html
内容总结
以上是互联网集市为您收集整理的在ubuntu下真机调试android程序出现设备没有访问权限全部内容,希望文章能够帮你解决在ubuntu下真机调试android程序出现设备没有访问权限所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。