ubuntu adb 无法识别手机

本文详细介绍了在Linux环境下解决Android开发过程中USB调试时手机无法识别的问题,通过执行一系列命令和配置文件操作,最终成功解决了设备识别问题。包括使用lsusb检查设备、创建并编辑配置文件、重启udev服务以及重启ADB服务等步骤。

在linux下android开发,我经常遇到usb调试时,手机无法识别

$ adb devices  
List of devices attached   
????????????    no permissions  

本质上是adb server启动需要权限造成的,可以用以下的方法来解决问题。
解决方法:

1)断开手机连接先执行

$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 006: ID 0cf3:3004 Atheros Communications, Inc. 
Bus 003 Device 003: ID 040b:2013 Weltrend Semiconductor 
Bus 003 Device 002: ID 174f:1474 Syntek 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 


连接手机,再执行一次lsusb 

Bus 002 Device 002: ID 8087:8000 Intel Corp.   
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 001 Device 002: ID 8087:8008 Intel Corp.   
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub  
Bus 003 Device 006: ID 0cf3:3004 Atheros Communications, Inc.   
Bus 003 Device 009: ID 18d1:9025 Google Inc.   
Bus 003 Device 003: ID 040b:2013 Weltrend Semiconductor   
Bus 003 Device 002: ID 174f:1474 Syntek   
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
 


那多出来的Bus 003 Device 009: ID 18d1:9025 Google Inc. 就是你的手机。
使用 vim 新建一个配置文件

$ sudo vim /etc/udev/rules.d/70-android.rules  

内容填写如下

SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9025",MODE="0666" 


##修改18d1和9025,把他改成你的设备## 
运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/70-android.rules  
sudo /etc/init.d/udev restart  


在 Android sdk 的 tools 目录下运行 (这一步很重要,必须要sudo,否则没效果)

sudo adb kill-server 
sudo adb start-server 
sudo adb devices


修改完成后,将手机USB线与电脑断开,再连就会显示

$ sudo adb devices  
List of devices attached   
1234567890ABCDEF    device  


<think>首先,用户的问题是:在RK3568设备上运行的Ubuntu系统中,无法识别ADB调试桥的问题,并寻求解决方法。用户提到“ADB not recognized”,意思是ADB工具没有被识别。 我需要参考系统级指令: - 所有行内数学表达式使用$...$格式。 - 独立公式使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识。 - 回答结构清晰,帮助用户逐步解决问题,保证真实可靠。 用户提供了引用: - 引用[1]: 关于ADB工具在RK3568 Android11上的命令描述。 - 引用[2]: 关于RK3568平台挂载文件系统的介绍。 但用户的问题是针对Ubuntu系统的ADB问题,而不是Android。引用是针对RK3568 Android11的,但用户现在在RK3568上运行Ubuntu系统。所以,我需要专注于Ubuntu环境下的ADB问题。 用户说:“我想在RK3568设备上运行的Ubuntu系统中,无法识别ADB调试桥的问题”,所以我必须解决ADB在RK3568 Ubuntu上的识别问题。 关键点: - ADB(Android Debug Bridge)用于调试Android设备,但这里设备运行Ubuntu,而不是Android。用户可能想调试Ubuntu系统本身,或者连接到其他Android设备。 - 用户说“无法识别ADB调试桥”,可能意味着ADB命令在Ubuntu终端中不可用,或者ADB无法检测到连接的设备。 可能的场景: 1. ADB工具未安装Ubuntu系统上。 2. ADB安装但路径未设置。 3. USB调试未启用或设备未被识别。 4. 设备驱动问题。 5. 特定于RK3568硬件的问题。 由于用户提到RK3568设备运行UbuntuADB问题可能涉及: - 确保ADB正确安装。 - 配置USB权限。 - 检查设备连接。 步骤来解决: 1. **检查ADB安装**:在Ubuntu终端运行`adb version`或`adb devices`来查看是否安装。如果未安装,需要安装。 2. **安装ADB**:在Ubuntu上,可以通过包管理器安装,如`sudo apt update && sudo apt install adb`。 3. **USB调试**:如果ADB用于调试RK3568本身,但RK3568运行Ubuntu,不是Android,所以ADB可能不适用。ADB主要用于Android设备。用户可能想用ADB调试连接到RK3568的其他Android设备,或者误解了用途。 - 澄清:在RK3568 Ubuntu系统上,ADB可以用来调试其他连接的Android设备,而不是调试RK3568本身,除非Ubuntu系统有ADB服务。 - 对于RK3568 Ubuntu,用户可能想启用ADB over network或类似。 4. **设备识别**:如果ADB无法识别连接的设备,检查USB权限。可能需要配置udev规则。 5. **RK3568特定**:参考RK3568文档,但引用是针对Android的。对于Ubuntu,可能需要通用Ubuntu ADB故障排除。 生成相关问题: - 根据指令,在回答末尾生成相关问题。 回答结构: - 逐步引导用户解决问题。 - 使用中文。 - 添加引用标识,但引用来自用户提供的内容,可能不直接相关。用户说“上述引用仅供参考”,所以我应该基于知识回答。 - 引用用户提供的引用时,自然地添加标识。 计划回答: 1. **理解问题**:确认ADB在RK3568 Ubuntu系统上的用途。 2. **检查安装**:指导用户检查ADB是否安装。 3. **安装ADB**:如果未安装,提供安装命令。 4. **USB配置**:如果设备未识别,讨论USB调试和udev规则。 5. **RK3568考虑**:提到硬件特定设置,如果适用。 6. **测试**:建议测试步骤。 7. **生成相关问题**:在末尾。 相关问题示例: 1. 如何在Ubuntu安装ADB? 2. 如何配置udev规则用于ADB设备? 3. RK3568 Ubuntu系统支持ADB调试吗? 确保LaTeX:如果涉及数学表达式,使用$...$,但这里可能不需要,除非讨论性能或方程。问题不涉及数学,所以可能不必要。 最终回答结构: - 开头:确认问题。 - 步骤1: 检查ADB安装。 - 步骤2: 安装ADB(如果需要)。 - 步骤3: 配置设备识别。 - 步骤4: 测试连接。 - 结尾:总结。 - §§相关问题§§</think>### RK3568 Ubuntu系统 ADB无法识别问题解决指南 在RK3568设备上运行的Ubuntu系统中,ADB(Android Debug Bridge)无法识别的问题通常源于ADB未正确安装、USB权限配置不当或设备驱动缺失。以下是逐步解决方法,基于ADB在Linux系统中的通用原理和RK3568硬件特性。请按顺序操作,并在Ubuntu终端中执行命令。 #### 步骤1: 检查ADB是否已安装 - 打开Ubuntu终端,运行命令: ```bash adb version ``` - 如果返回ADB版本信息(如`Android Debug Bridge version 1.0.41`),说明ADB安装,跳至步骤3。 - 如果提示`command not found`,则ADB安装,需执行步骤2。 #### 步骤2: 安装ADB工具 - 更新软件包列表并安装ADB: ```bash sudo apt update sudo apt install android-tools-adb android-tools-fastboot -y ``` - 安装完成后,验证: ```bash adb devices ``` - 正常应返回`List of devices attached`(可能为空列表)。如果仍报错,检查路径:确保`adb`在`/usr/bin/`目录下(运行`which adb`确认)。 #### 步骤3: 配置USB权限(关键步骤) ADB无法识别设备常因Ubuntu缺少USB调试权限。需添加udev规则: 1. 获取设备Vendor ID: - 将Android设备(或其他调试目标)通过USB连接到RK3568。 - 运行: ```bash lsusb ``` - 查找类似`Bus 001 Device 002: ID 18d1:4ee7 Google Inc.`的输出,记录`ID`后的四字符Vendor ID(如`18d1`)。 2. 创建udev规则文件: ```bash sudo nano /etc/udev/rules.d/51-android.rules ``` - 添加规则(替换`<VendorID>`为实际值): ``` SUBSYSTEM=="usb", ATTR{idVendor}=="<VendorID>", MODE="0666", GROUP="plugdev" ``` 例如:`SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"` 3. 重载udev规则并重启ADB服务: ```bash sudo udevadm control --reload-rules sudo service udev restart adb kill-server sudo adb start-server ``` #### 步骤4: 启用USB调试并测试连接 - 在调试目标设备上(如连接的Android手机): - 开启“开发者选项”(设置 > 关于手机 > 连点“版本号”)。 - 启用“USB调试”。 - 在RK3568 Ubuntu终端: ```bash adb devices ``` - 正常应显示设备序列号(如`ABCDEF123456 device`)。若仍为空: - 检查USB连接:更换数据线或USB端口。 - 重启设备:`adb reboot`或物理重启RK3568。 - 若RK3568自身作为调试目标(需ADB服务),需安装ADB守护程序(Ubuntu默认不包含),但非标准做法[^1]。 #### 步骤5: 处理RK3568特定问题 - **硬件兼容性**:RK3568的USB控制器可能需要额外驱动。确保Ubuntu内核支持: ```bash lsmod | grep usb ``` 若输出无`usb-storage`或`usbhid`,安装驱动: ```bash sudo apt install linux-modules-extra-$(uname -r) ``` - **文件系统挂载问题**:如果ADB涉及存储访问,检查挂载点(参考RK3568文档): ```bash mount | grep adb ``` 必要时重新挂载,如`sudo mount -t adb /dev/sda1 /mnt/adb`[^2]。 #### 总结 完成以上步骤后,ADB应能正常识别设备。常见成功指标:`adb devices`列出设备且无权限错误。如问题持续,提供终端输出以进一步诊断。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值