简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
新书发布:《Android系统多媒体进阶实战》🚀
优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
🌻1.前言
本篇目的:在ubuntu22.04下,使用adb 连接Android14设备,以下报错:Access denied (insufficient permissions)问题
🌻2.具体报错
08-06 14:46:45.556 3476800 3476800 E adb : usb_libusb.cpp:571 failed to open device: Access denied (insufficient permissions)
08-06 14:46:45.556 3476800 3476800 I adb : transport.cpp:1150 365aeaae: connection terminated: failed to open device: Access denied (insufficient permissions)
🌻3.adb介绍
- Android Debug Bridge(ADB)是Android开发中最常用的一个工具,它为开发者提供了一种与安卓设备进行通信的桥梁。ADB是一个多功能命令行工具,可以执行各种设备操作,包括安装、卸载应用,运行shell命令,传输文件,以及进行各种调试任务。
- ADB由三个主要组件构成:客户端、守护进程和服务端。客户端是开发者用来输入命令的部分,通常在电脑上运行。守护进程(adbd)运行在安卓设备上,负责接收来自客户端的命令并执行。服务端则运行在电脑上,管理客户端和守护进程之间的通信。
- 使用ADB的基本步骤通常包括以下几项:
- 确保电脑上已安装ADB。ADB通常随Android SDK Platform-Tools一起安装,开发者可以从Android开发者官网下载并解压到本地。
- 在安卓设备上开启USB调试。这通常在“设置”->“开发者选项”中找到并开启。
- 使用USB线将设备连接到电脑,或者在设备上开启无线ADB调试。
- 打开命令行界面,输入ADB命令进行操作。
- 以下是一些常见的ADB命令及其用途:
adb devices
:列出所有连接的设备。adb install <apk文件路径>
:安装APK文件到设备。adb uninstall <包名>
:从设备卸载指定包名的应用。adb shell
:进入设备的shell环境,可以执行Linux命令。adb push <本地文件路径> <设备文件路径>
:将文件从电脑推送到设备。adb pull <设备文件路径> <本地文件路径>
:从设备拉取文件到电脑。adb logcat
:查看设备的日志输出,对调试应用非常有用。
ADB的功能非常强大,它还支持以下高级操作:- 端口转发:使用
adb forward
命令可以将设备的某个端口映射到电脑的端口上,方便进行网络通信。 - 文件系统访问:通过ADB,开发者可以访问设备的整个文件系统,进行文件的读取、写入和修改。
- 调试应用:开发者可以使用
adb jdwp
来连接到正在运行的应用的Java调试线协议(JDWP)端口,进行调试。 - 系统设置修改:通过shell命令,可以修改系统设置,如开启或关闭WiFi,调整屏幕亮度等。
- ADB是Android开发者的必备工具,它极大地简化了开发流程,提高了开发效率。无论是应用开发、系统定制,还是设备维护,ADB都发挥着不可替代的作用。随着Android系统的不断更新,ADB也在不断完善,以适应新的开发需求。
🌻4.解决方案
🐓4.1 lsusb查看设备的VID和PID
# lsusb
Bus 001 Device 015: ID 1234:5678 Intel Corp xxx
- 1234:表示VID(厂商号)
- 5678:表示PID(产品号)
🐓3.2 配置
# sudo vim /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", MODE="0666"
🐓3.3 最后一步
- 重新插拔usb即可!!!