在使用linux时,通常是没有现成的adbd文件使用的,这就需要我们进行文件的编译了,编译可以分为三步进行,在编译前我们需要下载对应的源码使用,我们可以从 https://launchpad.net/android-tools
地址处下载需要的android-tools
源码使用,当然有android_tools源码后还是不行的,还需要从 https://www.zlib.net/
地址处下载zlib库以及从 https://openssl-library.org/source/old/index.html
处下载openssl,当然如果当前系统中已经有了当前库,也可以不下载,资源下载完成后就可以开始进行编译操作了。
1、编译zlib库,首先解压之前下载好的zlib-1.3.1.tar.gz
库,然后进入目录zlib-1.3.1
,这里我喜欢新建一个 install
目录用来保存生成的文件,然后编译我是使用的脚本操作,脚本提供如下:
#!/bin/sh -e
CUR_DIR=$(pwd)
CC_PATH=xxx 这里使用你的编译器路径
if [ -d "install" ];then
rm -rf install
mkdir install
fi
export CC=${CC_PATH}/arm-linux-gnueabi-gcc
./configure --prefix=${CUR_DIR}/install
make -j16
make install
那我这只需要执行这个脚本内容即可完成编译操作,编译生成的文件如下所示
接着编译openssl文件,解压zlib-1.3.1.tar.gz
,这里我也是直接用的脚本文件,脚本内容如下
#!/bin/sh -e
CUR_DIR=$(pwd)
if [ -d "install" ];then
rm -rf install
mkdir install
fi
./Configure linux-armv4 --cross-compile-prefix=arm-linux-gnueabihf- --prefix=${CUR_DIR}/install
make -j16
make install
执行脚本即可成功编译文件,接着就可以编译我们需要的目标文件了,首先复制 android_tools
目录中的debian/makefiles/adbd.mk
到core/adbd/Makefile
文件使用,修改core/adbd/Makefile
文件,增加SRCDIR= $(shell pwd)/../../
为我们的android_tools
的根目录,增加CC:=arm-linux-gnueabihf-gcc
为我们的编译器,
这里我们还没链接我们的zlib和openssl,编译会报错如下
找不到头文件,我们需要修改core/adbd/Makefile
以增加头文件和库文件,如下图所示
再次执行make命令即可编译成功,编译成功后可使用file adbd确认文件格式。如此就可以成功编译出可使用的二进制文件了