此文系转载:http://blog.sina.com.cn/s/blog_96a11ddf0101t56b.html

首先我们在编译完一个项目后,在项目的输出档中将会有一个adb文件

/out/host/linux-x86/bin/adb

我们可以将此adb文件拷贝到我们/bin目录下,以便后续执行adb的操作

注意:

如果我们的编译项目是在服务器中编译出来的,我们可以直接从服务器中将其拷贝到本地的/bin目录下

Open a new terminel, and copy the adb file to themenu/bin

htp1204@htp1204-VirtualBox:~$ls

bin Desktop Downloads ffrd10 Music Public testdavid Videos

busybox Documents examples.desktop mrd7

连上android真机, 在设置中打开usb debug,再在ubuntu中点击设备/分配USB设备中对应的android设备.

ctrl+alt+T, 打开终端, 进入/bin目录, 运行adb devices或adbroot,会发现不识别android设备的现象:

htp1204@htp1204-VirtualBox:~/bin$adb root

error: insufficient permissions for device

~~~~~~~~~~~~~~~~~~~~~~~~

在这里我们需要用到文件51-android.rules,就可以解决此问题.

在Linux下进行Android开发,连接Android手机,可能会编辑到/etc/udev/rules.d/51-android.rules文件。

那么,为什么这个文件要命名成51-android.rules,而不是其它的名字呢?

详细的解释要求对udev子系统有一定了解。下面简要介绍一下udev。

udev是Linux下的设备管理器,它支持即插即用,即自动识别新加入到系统中的外部设备,特别是USB设备。

用惯Windows的人可能没有这个意识,因为Windows很早就支持即插即用,加入新设备一直都很方便。

udev的一个特点是,它允许指定一系列响应规则,在它侦测到新设备加入的时侯,执行它们。

udev要求将这些规则存储在/etc/udev/rules.d/目录下的文件中,该文件名必须以.rules结束。

一些系统之中,udev默认的规则存储在/etc/udev/rules.d/50-udev.rules文件中。

udev按照字母排序依次解释这些文件中的规则,因此,如果你希望自己添加的规则在默认规则之后处理,那么文件名开头必须大于50,比如51。

这就是51-android.rules命名的缘由,它希望自己在默认的udev规则之后处理。

另外,简要说一下USB的知识:

一个USB设备由两个ID来标识,Vender ID和Product ID,VenderID由设备制造商向USB执行论坛申请,Product ID则由设备制造商自行分配。

udev 识别 android 设备 51-android.rules

首先使用lsusb查看设备的VID PID

创建/etc/udev/rules.d/51-android.rules,

127|root@android:/davidhu #busybox_arm lsusb

Bus 001 Device 001: ID 1d6b:0001

Bus 002 Device 001: ID 1d6b:0002

Bus 003 Device 001: ID 1d6b:0001

Bus 004 Device 001: ID 1d6b:0002

Bus 005 Device 001: ID 1d6b:0001

将下载下来的文件51-android.rules拷贝到/etc/udev/rules.d/目录下

~~~~~~~~~~~~~~~~~~~~~~~~

htp1204@htp1204-VirtualBox:~$cd Desktop/

htp1204@htp1204-VirtualBox:~/Desktop$ls

51-android.rules

htp1204@htp1204-VirtualBox:~/Desktop$sudo cp 51-android.rules /etc/udev/

rules.d/ udev.conf htp1204@htp1204-VirtualBox:~/Desktop$sudo cp 51-android.rules /etc/udev/rules.d/htp1204@htp1204-VirtualBox:~/Desktop$cd /etc/udev/rules.d/

htp1204@htp1204-VirtualBox:/etc/udev/rules.d$ls

51-android.rules 60-vboxadd.rules 70-persistent-cd.rules 70-persistent-net.rules README

htp1204@htp1204-VirtualBox:/etc/udev/rules.d$ls -l 51-android.rules //检查该文件权限

-rwxr-x--- 1 root root 2689 Apr 17 18:1351-android.rules

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

操作步骤:

1、点击下载下面的文件,解压出来。

2、解压该文件。用文本编辑器打开“51-android.rules”,将这里面的OWNER="snowdream",替换成OWNER="您的系统用户名"。保存。

3、将文件 “51-android.rules”,拷贝到/etc/udev/rules.d/ 目录下。参考命令如下:

$sudo cp 51-android.rules /etc/udev/rules.d/

4、重启udev

$sudo service udev restart

参考:

adb 51 android.rules,使用51-android-rules解决ubuntu上不识别 android手机的问题相关推荐

  1. android s905 编译_NanoPi K2 (Amlogic S905) Ubuntu 16.04 编译Android 5.1系统源码

    NanoPi K2 (Amlogic S905) Ubuntu 16.04 编译Android 5.1系统源码 1. 下载源码 在这里下载https://www.mediafire.com/folde ...

  2. android莫名其妙打开支付宝,【未解决】用uiautomator2实现安卓手机打开支付宝自动收集蚂蚁森林能量...

    折腾: [调研]支付宝 蚂蚁森林 自动收集 期间,自己的小米9的安卓10手机,无法用前面调用的各种方式去实现自动手机蚂蚁森林能量 看来只能自己去写代码去实现了. 去搭建uiautomator2的pyt ...

  3. [Android] ubuntu 下不识别 Android 设备

    之前的android手机给家人用了,手里现在有一个旧手机,调试过程又出现不识别的问题,这次要记录一下. 首先,需要把手机开发者选项打开,在设置里对着android版本或者型号多点几次,就会打开. 原文 ...

  4. 解决Mac下无法识别Android手机的问题

    1. 插上手机打开终端,输入:system_profiler SPUSBDataType,将输出结果记住. 2.   拔下手机,重复以上动作. 两者结果对比后会获得一个Vendor ID: Compo ...

  5. android思维导图github,2020年GitHub 上那些优秀Android开源库,这里是Top10!

    前言 每过一段时间呀,我都会给大家带来一些从Github上收集的一些开源库,有的是炫酷动效,有的则是实用的工具和类库.以前没看过或者没有收藏的同学,建议先收藏,以下是链接: No1. LiquidSw ...

  6. eclipse android 不能生成r类 appt错误,Ubuntu中Eclipse新建Android project提示缺失R文件的原因及解决办法...

    环境: 64位Ubuntu12.04进行Android开发,sun-JDK1.7,官网下载的最新ADT-Eclipse-SDK集成包.JDK配置正确.SDK已更新,版本一致 问题: 第一次启动Ecli ...

  7. [快速查询] Ubuntu下adb不识别Android设备

    Mac上安装了Android SDK Windows上安装了Android SDK 可是又安装了双系统Ubuntu- 写文件到/etc/udev/rules.d/51-android.rules 或 ...

  8. GitHub上不错的Android开源项目(三)

    收集相关系列资料,自己用作参考,练习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) GitHub上不错的Android开源项目(一):http://ww ...

  9. Ubuntu上搭建Android编译环境(1)

    外网信号不好,所以把google的原文介绍扒到这里来参考. https://source.android.com/setup/ Android 源代码 Android 是一个针对多种不同设备类型打造的 ...

最新文章

  1. SQL case when
  2. 设置Button控件创建完毕时触发的事件.
  3. 灭霸—个人冲刺(4)
  4. HTML5代码基础结构
  5. 设计模式之工厂方法模式学习笔记
  6. EMNLP2018论文解读 | 三种提升多语言翻译模型的高效策略
  7. 国内滴滴面临“讨伐”,国外Uber日子更难过!活该不?
  8. 《HTML5移动Web开发实战》—— 1.6 在移动网站中使用HTML5
  9. UNIX 环境高级编程(四)—— dirent.h
  10. 中心药库管理系统 v6.85 是什么
  11. html网页图片下方空隙太大,网页制作中图片上下间为什么会有空隙?解决办法...
  12. 浅谈企业信息化的过程与阶段
  13. 更改计算机的主题和桌面背景,怎么设置和更改桌面背景
  14. 2015校园招聘联通笔试的几个题目
  15. Vue项目首页---开发周末游组件
  16. 实验:4级流水线32bits全加器
  17. 智慧办公新棋局,看联想如何“落子”?
  18. 哈佛结构与冯诺依曼结构(含STM32系统结构解析)
  19. spring4开发SpringBatch 样例 -配置文件版
  20. kdd19 Investment Behaviors can tell what inside:Exploring Stock Intrinsic Properties for Stock Trend

热门文章

  1. java授权失败_自定义Spring Security的身份验证失败处理方法
  2. 报错,Error starting ApplicationContext. To display the conditions report re-run your application with
  3. Java原生序列化、Avro、RPC与Log4j
  4. Spark案例:Java版统计单词个数
  5. 2017级软件2班安卓应用开发课程主页
  6. Bzoj 3226: [Sdoi2008]校门外的区间
  7. TCP/IP 和 TCP/IP的 三/四次握手
  8. HashMap put原理详解(基于jdk1.8)
  9. open一个绝对路径地址 python_实例15:用Python批量转换doc文件为docx文件
  10. bgb邻居关系建立模型_知识图谱上的双塔召回:阿里的IntentGC模型