当前位置: 首页 > backend >正文

android-ndk开发(4): linux开发机有线连接android设备

android-ndk开发(4): linux开发机有线连接android设备

2025/05/05

1. 概要

linux 系统, 例如最常见的 ubuntu, 在通过 USB 线把 android 设备连接到开发机上时, 仅仅是 ”物理上的连接”。 这时候 adb 是无法识别到 android 设备的。 需要配置 udev 规则才能发现设备。

要想真的让系统识别到 android 设备,

2. 添加 udev 规则的步骤

2.1 获取 idVendor 和 idProduct 信息

在开发机上, 分别在插入、不插入手机usb线的情况下,执行 lsusb 命令来获得 idVendor 和 idProduct。 例如:

⚡ lsusb                                                           
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub    
Bus 001 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub    

其中ID后的xxxx:yyyy分别是idVendor和idProduct,在udev规则文件中需要他俩。

2.2 添加udev规则

根据上一步查找的idVendor和idProduct,添入新建的规则文件中:

vim /etc/udev/rules.d/51-android.rules, 增加:

SUBSYSTEM=="usb", ATTR{idVendor}=="2717", ATTRS{idProduct}=="ff48", MODE="0666"

保存文件, 并授予赋予读取权限:

chmod a+r /etc/udev/rules.d/51-android.rules

2.3 让 udev 规则生效

可尝试 sudo systemctl restart udev, 或重新插拔设备。 若确实长时间没反应(1分钟以上), 可考虑重启主机。

通常很快就能查询到设备 (adb devices).

2.4 设备上的设定

  • 需要开启USB调试(设置->…->开启“开发者选项”,并且开启”USB调试“和”USB安装“

  • 需要选择MTP连接(新版Android叫做“传输文件”)方式,否则可能遇到报错:

adb: insufficient permissions for device: user in plugdev group; are your udev rules wrong?

参考: https://stackoverflow.com/questions/28704636/insufficient-permissions-for-device-in-android-studio-workspace-running-in-opens

3. 总结

本篇给出了 Linux 开发机上, 配置 udev 规则的步骤和注意事项, 从而让后续通过 USB 线连接设备时, 能自动识别设备, 顺畅的使用 adb 命令。

http://www.xdnf.cn/news/3983.html

相关文章:

  • 命令模式(Command Pattern)
  • [USACO1.1] 坏掉的项链 Broken Necklace Java
  • C++ -- 内存管理
  • 探寻适用工具:AI+3D 平台与工具的关键能力及选型考量 (AI+3D 产品经理笔记 S2E03)
  • Java面试:微服务与大数据场景下的技术挑战
  • 《MATLAB实战训练营:从入门到工业级应用》高阶挑战篇-《5G通信速成:MATLAB毫米波信道建模仿真指南》
  • MySQL JOIN详解:掌握数据关联的核心技能
  • 【翻译、转载】【译文】模型上下文协议(Model Context Protocol, MCP)简介
  • java技术总监简历模板
  • Q_OBJECT宏的作用
  • 3.9/Q2,Charls最新文章解读
  • 基于 AI 的人像修复与编辑技术:CompleteMe 系统的研究与应用
  • 网络编程,使用select()进行简单服务端与客户端通信
  • 56、【OS】【Nuttx】编码规范解读(四)
  • NV214NV217美光闪存固态NV218NV225
  • Jasper and Stella: distillation of SOTA embedding models
  • P1802 5 倍经验日
  • 【AI提示词】 复利效应教育专家
  • Python实例题:Python获取NBA数据
  • 大连理工大学选修课——图形学:第三四章 基本图形生成算法
  • 低速总线:IIC和SMBUS
  • JAVA---继承
  • avx指令实现FFT
  • 【Linux系统】互斥量mutex
  • 当SONiC遇到CPO,SONiC对共封装光接口的管理
  • 在两个bean之间进行数据传递的解决方案
  • langchain中 callbacks constructor实现
  • 如何使用python保存字典
  • **马小帅面试记:Java技术问答**
  • 邮件协议、签名与推送