本来笔者打算写一下adb源码分析的文章,后来发现网上已经有人写了关于adb源码通信和各种机制的文正了,写的挺好的,理解的也比笔者要深刻,所以笔者就不在重复造轮子了。


但是前面的编写者,主要是从源码角度来理解,但是对于很多程序员来说,细读一遍源码,绝对没有在ide中断点跟踪一遍程序理解深刻过瘾。所以我将adb源码从android源码中提取出来,支持了ndk编译,以及eclipse下的 cdt编译。


这样既能编译出来在pc端的 android称为host,adb命令,也能编译出来运行在 手机端 android称为 target,adbd命令,需要放在 /sbin/目录下


注:其实很多pc上的手机助手都是提取了android的adb源码,再做适配操作系统的ui界面,比如用mfc做windows下的手机助手。


由于最近比较忙,所以就偷了懒,不分析如何从android源码提取adb代码了,等有时间再补上...


前置条件:

1 系统要求 ubuntu 13.04

2 源码提取 gingerbread 2.3.7 版本


在windows下提取最新版本的adb源码意义更大。毕竟很多pc上的手机助手都是在windows下的,但主要是个demo,就懒得这样做了。


下面截取两张图


wKioL1NZy8byWblNAAGJ_q7B_aA473.jpg


编译工程,要求eclipse + cdt



wKiom1NZzArichAWAAKmGkH53YQ155.jpg


提取的目录途径,ubuntu下的环境。


jni目下直接可以使用 ndk-build 来编译target的adbd文件

第一个adb目录下,直接可以导入ubuntu下的eclispe的


附件