进入recovery后,执行adb devices,提示device offline。

说明设备的USB口是device role了,但adb server跟device通信不上。

对比了网上很多文章,各种修改都无法解决。

于是,将adb和adbd和adb driver的log打开。

//system/core/adb

//kernel-3.18/drivers/usb/gadget/f_adb.c

发现adb driver的读写都没有调用,于是在adb代码里寻找打开adb driver “/dev/android_adb”的地方,一步步跟踪,到了问题点:

system\core\adb\usb_linux_client.cpp

void usb_init()

{

if (access(USB_FFS_ADB_EP0, F_OK) == 0)

usb_ffs_init();

else

usb_adb_init();

}

能正常连接adb的走usb_adb_init();,而不能正常连接的走usb_ffs_init();

#define USB_FFS_ADB_PATH  "/dev/usb-ffs/adb/"

#define USB_FFS_ADB_EP(x) USB_FFS_ADB_PATH#x

#define USB_FFS_ADB_EP0   USB_FFS_ADB_EP(ep0)

也就是说,不能正常连接adb的是因为access(USB_FFS_ADB_EP0, F_OK)成功了,

经过对比,recovery下的bootable/recovery/etc/init.rc 多了下面几行:

on fs

write /proc/bootprof "start mobicore (on fs)"

//....

mkdir /dev/usb-ffs 0770 shell shell

mkdir /dev/usb-ffs/adb 0770 shell shell

mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000

这就导致设备的adbd执行的是ffs初始化,而不是adb初始化的原因。

屏蔽上面几行,连接adb成功。显示:

$ adb devices

List of devices attached

0123456789ABCDEF recovery

android recovery下使用adb出现device offline问题相关推荐

  1. adb.exe: device offline

    adb devices 的时候提示:adb.exe: device offline 处理方法: 1 adb kill-server 2 adb start-server 3 重新连接adb

  2. Android Recovery 下打开驱动接口

    Android 下Recovery是跟system等级别的一层,只不过recovery下实现了简单的UI. 如目录下有bootable\recovery\fonts, minui,简单的字库和图形显示 ...

  3. Android开发--真机调试出现device offline提示

     解决方法1:  打开终端输入以下命令 adb devices 如下图所示: 解决办法2:打开终端输入以下命令 1.adb kill-server 2.adb start-server 3.adb ...

  4. Android recovery支持adb shell

    Android recovery支持adb shell 最近开发过程注意到recovery不支持adb shell,为了便于调试方便,决定增加此功能. 刚开始我们采用的是user版本系统,进入reco ...

  5. recovery模式下支持ADB连接和串口操作

    前言 Android平台下我们有时候会进入recovery下做一些操作,不管是通过ADB连接还是通过串口操作,都需要你的平台支持,不支持的话可以按照我们这篇文章进行修改. 正文 ADB连接 进入rec ...

  6. adb device offline 解决办法

    当电脑中的豌豆荚之类的应用打开的状态下 adb devices 显示连接状态 关闭手机助手之后,adb devices总显示 device offline 后来发现sdk  platform-tool ...

  7. [转]Mac OS X 下部分Android手机无法连接adb问题之解决方案

    时至当今,Android山寨手机厂商已如此之多,能修改和个性化定制Android OS的能人已是多如牛毛,有的牛人修改Android系统只会影响所修改的点,不会影响其它,然后还有的就不多说了,总之做的 ...

  8. (转载)Mac系统下利用ADB命令连接android手机并进行文件操作

    Mac系统下利用ADB命令连接android手机并进行文件操作 标签: Mac adb android 2016-03-14 10:09 5470人阅读 评论(1) 收藏 举报  分类: Androi ...

  9. android adb shell device not found 或 adb devices 无设备

    当前项目由于需要使用手机USB接口连接一个外设, 所以想用WIFI连接电脑进行调试, 但是在cmd中始终找不到设备: adb shell  "device not found" a ...

最新文章

  1. 设计模式之外观模式(Facade)摘录
  2. python stm32-实现Python与STM32通信方式
  3. 【数据库】MongoDB数据库的操作及练习
  4. 一个软件项目的总纲性的测试计划叫什么?
  5. 归纳:数据库设计的六个阶段详解(有这一篇就够了)
  6. Java学习笔记2021.1.9
  7. 基础表比商户对账和汇总多了一笔退款数据
  8. 转https_这个PDF转图片技巧,不用1分钟就能快速上手
  9. 使用IntelliJ IDEA配置Erlang开发环境
  10. stdafx.h头文件代码
  11. Pulling without specifying how to reconcile divergent branches is discouraged.
  12. 07-提取字符串中的数字数组
  13. 硬件描述语言Verilog学习(五)
  14. Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式
  15. 无胁科技-TVD每日漏洞情报-2022-11-30
  16. java基础-多态-多态的理解及使用
  17. pmp考试需要备考多长时间?
  18. 八 EUI高级制作 ① 初认识
  19. Python学习:字典(dictionary)
  20. ibm 行业解决方案_使用针对电源系统的IBM地理分散弹性解决方案的灾难恢复即服务(DRaaS)产品...

热门文章

  1. android studio的旅游APP的开发和设计
  2. excel计算式自动计算_计算macd 分解步骤一步一步详细计算macd 用excel计算macd
  3. 二进制bit0是什么意思_阜平吧在讨论5G的问题,感觉挺有意思,科普下……
  4. 物理层 ,物理层功能,物理层设备,通信方式,物理层传输介质
  5. 2022淘宝天猫京东双十一交易额有多少?双11交易的数据
  6. evplayer android闪退,Evplayer优弊端汇总
  7. opencv 视频处理(python)
  8. 手机闪存速度测试工具,AndroBench
  9. 天梯赛 L2-016 愿天下有情人都是失散多年的兄妹 (25 分)[测试点1 3 4][未填坑]
  10. Mac免费思维导图软件:幕布 for mac