Ubuntu下 Android真机 显示????????????no permissions 最终办法

首先:

打开一个终端,输入 lsusb,就会看到当前连接电脑的所有USB设备,比如:

Bus 002 Device 003: ID 046d:c06a Logitech, Inc.

Bus 002 Device 010: ID 17ef:7533 Lenovo

第二个是我连接的联想手机。

其次:

进入 /etc/udev/rules.d 下面:

打开终端(Ctrl+Alt+T),进入root 用户,执行 sudo gedit /etc/udev/rules.d/51-Android.rules就会在该目录下新建一

个50-android.rules文件,如果该文件已经存在,就新建一个51-android.rules文件,在该文件中添加如下语句:

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="liujiacai"

其中的  SYSFS{idVendor}=="22b8" 代表的是moto手机。所有手机USB对应的ID 如下:

Company USB Vendor ID
Acer 0502
ASUS 0b05
Dell 413c
Foxconn 0489
Fujitsu 04c5
Fujitsu Toshiba 04c5
Garmin-Asus 091e
Google 18d1
Hisense 109b
HTC 0bb4
Huawei 12d1
K-Touch 24e3
KT Tech 2116
Kyocera 0482
Lenovo 17ef
LG 1004
Motorola 22b8
NEC 0409
Nook 2080
Nvidia 0955
OTGV 2257
Pantech 10a9
Pegatron 1d4d
Philips 0471
PMC-Sierra 04da
Qualcomm 05c6
SK Telesys 1f53
Samsung 04e8
Sharp 04dd
Sony 054c
Sony Ericsson 0fce
Teleepoch 2340
Toshiba 0930
ZTE 19d2

接着,

切换到android sdkplatform-tools目录下(这一步很重要,必须要sudo权限

sudo ./adb devices #这个主要是查看下已连接上的android机器

List of devices attached

????????????no permission

semulator-5554device~~我开了个android模拟器)

以下命令是:重启adb服务,再输入adb devices就应该能找到设备了。

sudo ./adb kill-server
sudo ./adb devices

参考:

http://developer.android.com/tools/device.html

http://developer.android.com/tools/extras/oem-usb.html



<think>好的,用户现在想查找ADB连接真机设备显示offline的原因及解决方案。之前用户已经询问过关于模拟器显示offline的问题,现在转向真机的情况,需要结合之前的回答和新的引用内容来整理解决方案。 首先,回顾之前的回答,针对模拟器offline的情况,提到了重启ADB、处理端口占用、设备重连、多ADB冲突、重置密钥等步骤。现在用户引用中提到真机的问题,可能的原因包括ADB版本过旧、驱动问题、USB调试未授权、Vendor ID未添加、连接模式错误等。 引用[1]提到ADB版本问题,需要更新ADB工具,并正确配置环境变量。引用[2]则涉及添加Vendor ID到adb_usb.ini文件。这可能和USB设备的识别有关。结合用户之前的问题,可能需要检查USB授权状态,因为模拟器和真机在授权流程上可能不同,真机可能需要用户手动允许调试。 接下来,用户的需求是查找原因和解决方法,需要分步骤详细说明。需要将引用中的信息整合到现有的解决方案中,同时保持结构清晰。例如,ADB版本过旧是一个关键点,需要强调更新ADB,而添加Vendor ID可能适用于某些设备无法被识别的情况。 另外,之前的回答中提到了重启ADB、检查连接等步骤,这些同样适用于真机,但需要补充真机特有的步骤,比如USB调试授权、安装驱动、检查连接模式等。可能还需要考虑不同手机厂商的特殊情况,比如OEM解锁或驱动安装。 需要确保解决方案逻辑顺畅,从基础检查到逐步深入,覆盖所有可能的原因。同时,用户可能对某些步骤不熟悉,比如如何开启开发者模式或USB调试,是否需要详细说明?但用户之前的问题可能已经有一定基础,所以可以适当简化,但关键步骤仍需明确。 最后,生成相关问题时要考虑用户可能的后续疑问,比如如何检查驱动、如何处理授权问题、不同手机品牌的处理方法等。这样能帮助用户更全面地解决问题。</think>### ADB连接真机显示"offline"的原因及解决方案 #### 一、核心原因分析 1. **ADB版本不兼容**(常见于旧版本) - 低于1.0.31的ADB版本可能无法识别新型号设备[^1] - 版本检测命令: ```bash adb version ``` 2. **USB调试授权未完成** - 手机未弹出`允许USB调试?`提示框 - 已授权设备密钥变更时会出现`offline`[^2] 3. **设备连接模式错误** - 手机需设置为`文件传输`或`MTP模式`(非仅充电模式) 4. **Vendor ID未注册** - 特殊设备需在`adb_usb.ini`添加厂商ID[^2] - 路径示例: ```bash C:\Users\[用户名]\.android\adb_usb.ini ``` #### 二、分步解决方案 ##### 1. ADB工具更新(关键步骤) ```bash # 下载新版ADB工具包(推荐1.0.41+) # 覆盖旧版本文件(保留原路径) adb kill-server adb start-server ``` *覆盖后必须重启ADB服务才能生效[^1]* ##### 2. 设备授权重置 1. 手机端操作: - 进入`开发者选项` → 关闭再开启`USB调试` - 拔插USB线后查看授权弹窗 2. 计算机端密钥清理: ```bash del %USERPROFILE%\.android\adbkey* ``` ##### 3. 连接模式验证 ```bash # 检测当前连接模式 adb devices -l ``` *正常应显示`transport_id:...`,若显示`no permissions`需检查驱动* ##### 4. Vendor ID注册(特殊设备) 1. 获取设备Vendor ID: ```bash adb devices -l | findstr "usb" ``` 2. 编辑`adb_usb.ini`: ```ini # 添加十六进制厂商ID 0x2A45 ``` ##### 5. 驱动修复(Windows专有) 1. 设备管理器→便携设备→右键更新驱动 2. 手动指定驱动为`Android ADB Interface` #### 三、增强型检测流程 ```mermaid graph TD A[设备显示offline] --> B{检查ADB版本} B -->|版本<1.0.31| C[更新ADB工具包] B -->|版本正常| D{USB调试授权} D -->|未授权| E[重新插拔数据线] D -->|已授权| F{检查连接模式} F -->|MTP/文件传输| G[adb devices -l] F -->|仅充电| H[切换连接模式] G -->|显示transport_id| I[成功] G -->|仍offline| J[检查Vendor ID] ``` #### 四、厂商特殊处理 - **华为设备**:需开启`仅充电模式下允许ADB调试` - **小米设备**:关闭`MIUI优化` - **三星设备**:安装单独提供的USB驱动
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值