Android 4.4 Kitkat 使能 USB adb 功能

Android 4.4 Kitkat 使能 USB adb 功能

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

背景


在 Linux-3.8 以后,Android 的内核分支,便去掉了 f_adb,改使用 USB function FS,在用户空间实现 USB adb 功能。这篇文章依据原作者的 Google+ 文章,在 Atmel sama5 开发板上做了測试,将步骤记录例如以下,供须要使用的读者參考,你也能够查看作者原文:
https://plus.google.com/111524780435806926688/posts/AaEccFjKNHE 


在 Linux-3.10 上使能 USB ADB


编译内核时使能 USB FunctionFS


When building your kernel, make sure to configure in FunctionFS:

    Device Drivers -> USB Support -> USB Gadget Support

        -> USB Gadget Driver -> Function Filesystem

设置正确的 USB vendor ID 和 Product ID


这个设置能够放在 bootcmd 或者载入内核模块的时候通过參数传递:
Modify your boot parameters to set the vendor and product ids so adb on your host recognizes the device.

    g_ffs.idVendor=0x18d1 g_ffs.idProduct=0x4e26


Alternatively this can also be done if you built the gadget driver as a module at load time:

    insmod g_ffs.ko idVendor=0x18d1 idProduct=0x4e26



启动 Android 并挂载 functionFS, 使能 USB adb

Now here I’m assuming you’ve got a serial port working. Boot your target device with your new kernel (and insmod the g_ffs driver if necessary), and setup the functionfs directory:

    # mkdir /dev/usb-ffs
    # mkdir /dev/usb-ffs/adb
    # mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb


重新启动 adbd 守护进程

If everything is working, you can kill adbd and when it restarts it should find the functionfs mount and make use of it.

    # ps adbd
    # kill <pid for adbd>

然后进入 cmd 或者 Linux Host 就能够成功连接 usb adb 获得 Android shell 了

On your host system, connect to the target using the adb program:

    $ ./adb shell
    root@android:/#

    Hooray there’s your shell!



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118670.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月2日 下午11:00
下一篇 2021年12月3日 上午6:00


相关推荐

  • 手机扫码登陆原理(扫码充电线原理)

    问题描述 qq,淘宝等应用在pc端app或网页版都有扫码登陆功能(下述统称为网页端)。用户无需输入用户名和密码,通过在手机端app登陆后,扫网页中的二维码即可直接登陆。 原理分析:网页端+服务器 用户在浏览器点击“二维码登陆”向服务器发送扫码登陆请求,服务器收到请求后,随机生成一个uuid(通用唯一标识符:universallyuniqueidentifier),将这个i…

    2022年4月18日
    73
  • vue分页组件

    vue分页组件/***分页组件*/<template><divclass=”pagination”><ulclass=”pagerclear”@click=”onPage”><li:class=”{disabled:page<=1}”:aria-disabled=”page<=

    2022年10月1日
    4
  • Python之numpy库

    NumPy库知识结构

    2021年12月19日
    42
  • matlab 实现 garch 模型波动率估计

    matlab 实现 garch 模型波动率估计matlab 实现 garch 模型波动率估计 matlab 实现 garch 模型波动率估计代码高亮问题数据获取数据处理描述性统计时间序列平稳性检验相关和偏自相关 arch 效应检验建立 garch 模型波动率估计代码及文档地址代码高亮问题这边首先说一个问题 你们看到的 matlab 代码没有高亮 看上去很不舒服 但这个锅是 csdn 的 真垃圾 连个语法高亮

    2025年6月10日
    5
  • matlab怎么对语音信号处理,语音信号处理MATLAB程序

    matlab怎么对语音信号处理,语音信号处理MATLAB程序试验一语音信号处理语音信号处理综合运用了数字信号处理的理论知识,对信号进行计算及频谱分析,设计滤波器,并对含噪信号进行滤波。一,具体分为以下步骤:(1)语音信号的采集:利用Windows下的录音机,录制一段话音。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,播放语音信号,并绘制原始语音信号;(2)对原始信号加入噪声:对原始语音信号加入s=0.05*sin(2*pi*f*T…

    2022年5月25日
    49
  • 学习笔记:远程连接服务之SSH

    学习笔记:远程连接服务之SSH

    2021年6月5日
    111

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号