ADB编译全攻略

整理的ADB项目: ADB.zip .

介绍
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 这个文件下载下来,这是一个映像文件,使用虚拟光驱装载以后,运行

点击图片以查看大图图片名称:	WDK安装.jpg查看次数:	3文件大小:	99.3 KB文件 ID :	87224


点击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_v.jpg查看次数:	6文件大小:	167.6 KB文件 ID :	87229


如果出现“'perl' 不是内部或外部命令,也不是可运行的程序或批处理文件。”这种信息,首先确认环境变量是否设置正确,如果设置正确,那么重启电脑,一般来说问题就解决了。
openssl安装
  从我共享的连接中,把Win32OpenSSL-1_0_1f.exe 下载下来安装,安装的时候可能会提示一个警告框,不要管它,点击确定继续安装。

名称:  openssl安装.png查看次数: 3文件大小:  13.6 KB

一个注意的地方,这个选项选择第二个,我要用openssl这个库编译程序,而不是使用openssl。

名称:  openssl安装选择.jpg查看次数: 2文件大小:  125.6 KB

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进行编译。

    点击图片以查看大图图片名称:	zlib编译命令.jpg查看次数:	7文件大小:	213.6 KB文件 ID :	87237

  • cd到zlib目录下,如:cd X:\zlib-1.2.8,然后写入上图中的命令,对zlib进行编译。编译成功后在zlib目录下将会产生:zlib.lib、zdll.lib、zlib1.dll三个文件

编译ADB
  下载我整理好的ADB项目,用VS2008打开其中的 ADB.sln 文件
打开 工具->选项->项目和解决方案->VC++目录。

点击图片以查看大图图片名称:	VC++目录.png查看次数:	3文件大小:	34.3 KB文件 ID :	87240


选择右侧“显示一下内如的目录(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
点击下拉列表,选择“库文件”, X:\zlib-1.2.8
  • X:\WinDDK\7600.16385.1\lib
  • 右键ADBControl项目,属性->配置属性->链接器->常规->附加库目录,添加” ;X:\OpenSSL-Win32\lib\VC\static”,debug和release都要这样配置。

    点击图片以查看大图图片名称:	附加库目录.jpg查看次数:	6文件大小:	303.7 KB文件 ID :	87241


    编译顺序:
    先编译AdbWinApi项目,再编译AdbWinUsbApi项目,然后再编译ADBControl项目。

    可能出现的问题:
    当运行ADBControl项目的时候会出现一闪而过的情况,右键项目->属性->调试,在命令参数中输入shell,即可进入shell命令模式(首先要保证手机插在电脑上或模拟器已打开,否则ADB连接不到设备也会造成闪退情况)。进入shell命令模式后,可以输入linux命令”ls”测试一下,这个命令可以查看目录。

    相关文章

    功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
    大体上把Python中的数据类型分为如下几类: Number(数字) ...
    开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
    源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
    前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
    python中常用的写爬虫的库有urllib2、requests,对于大多数比...