介绍
ADB是android提供的一个工具,可以通过这个工具对android手机进行操作。
本来想把我编译ADB的整个过程,包括其中遇到了什么问题全部讲清楚,这些问题我都记了下来,但是想了想这个过程实在是又臭又长,我就把我整理好的ADB项目放出来,然后说说如何编译这个项目。
环境
操作系统:Window 7 64位
编译器:VS2008
必要的库:WDK、perl、openssl、zlib。 这些库全部安装或解压到根目录下 (嘛是根目录?如:c:\)。
这些库文件我已经在这里共享:
http://pan.baidu.com/share/home?uk=2302395632#category/type=0
安装
VS2008怎么安装就不说了。
WDK安装
WDK是开发windows驱动所用到的开发包。
从我共享的连接中,把 GRMWDK_EN_7600_1.ISO 这个文件下载下来,这是一个映像文件,使用虚拟光驱装载以后,运行
点击OK以后,会弹出一个选择路径的窗口,选择完路径后再次点击OK即可。我建议默认路径。
Perl安装
安装openssl之前,需要安装Perl,因为需要Perl编译openssl中的代码,从我共享的连接中,把 ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi 文件下载下来安装。
安装完以后查看是否有环境变量”X:\Perl\site\bin;X:\Perl\bin;”,如果没有,则手动设置,然后在命令行中测试”perl -v”,如果出现类似下图的信息,就说明Perl安装成功,并且环境变量设置正确。
如果出现“'perl' 不是内部或外部命令,也不是可运行的程序或批处理文件。”这种信息,首先确认环境变量是否设置正确,如果设置正确,那么重启电脑,一般来说问题就解决了。
openssl安装
从我共享的连接中,把Win32OpenSSL-1_0_1f.exe 下载下来安装,安装的时候可能会提示一个警告框,不要管它,点击确定继续安装。
有一个注意的地方,这个选项选择第二个,我要用openssl这个库编译程序,而不是使用openssl。
zlib编译
编译步骤。注意:编译zlib这期间不要更换命令行窗口,所有的命令都在一个命令行窗口中输入。
- 在命令行下进入”X:\Microsoft Visual Studio 9.0\VC\bin”目录下(9.0代表VS2008),运行”vcvars32.bat”。
- 根据”X:\zlib-1.2.8\contrib\masmx86\readme.txt”文件中命令,对zlib进行编译。
- cd到zlib目录下,如:cd X:\zlib-1.2.8,然后写入上图中的命令,对zlib进行编译。编译成功后在zlib目录下将会产生:zlib.lib、zdll.lib、zlib1.dll三个文件。
编译ADB
下载我整理好的ADB项目,用VS2008打开其中的 ADB.sln 文件。
打开 工具->选项->项目和解决方案->VC++目录。
选择右侧“显示一下内如的目录(S)”下的下拉列表,选择“包含文件”, 在最后一行 添加如下路径(一定要在最后一行开始添加):
- X:\WinDDK\7600.16385.1\inc
- X:\WinDDK\7600.16385.1\inc\api
- X:\WinDDK\7600.16385.1\inc\ddk
- X:\OpenSSL-Win32\include
- X:\zlib-1.2.8
编译顺序:
先编译AdbWinApi项目,再编译AdbWinUsbApi项目,然后再编译ADBControl项目。
可能出现的问题:
当运行ADBControl项目的时候会出现一闪而过的情况,右键项目->属性->调试,在命令参数中输入shell,即可进入shell命令模式(首先要保证手机插在电脑上或模拟器已打开,否则ADB连接不到设备也会造成闪退情况)。进入shell命令模式后,可以输入linux命令”ls”测试一下,这个命令可以查看目录。