Android源码中如何编译出fastboot.exe和adb.exe程序

1、方案背景说明

在进行android项目开发时,如果通用的fastboot工具无法满足项目的定制话的需求时,就需要对fastboot工具的源码进行自定义修改,并编译成新的fastboot和adb工具。

由于安卓源码的的编译通常使用的是ubuntu系统,默认可以编译出Linux系统可执行的fastboot和adb,但windows平台使用的fastboot.exe和adb.exe不会随着make -j24全编android源码时一并生成。

因此若项目中需要定制windows平台的fastboot.exe和adb.exe,则可以按照本文方法对工具源码进行编译,生成对应exe工具。

2、fastboot.exe和adb.exe工具源码位置

以Android11源码举例,fastboot和adb工具源码一般位于下面目录,可根据需求进行源码修改,扩展自定义功能。

android11_code/
└── system/
    └── core/
        ├── adb/
        └── fastboot/

3、编译步骤

3.1 安装mingw-64

sudo apt-get install mingw-w64

3.2 编译adb.exe和fastboot.exe

在完成工具源码修改后,可使用下面命令进行编译:

source build/envsetup.sh
lunch xxxx-userdebug
make -j8 USE_MINGW=y adb
make -j8 USE_MINGW=y fastboot

编译成功后,则会提示exe工具生成的位置(一般位于out/host/目录下)

3.3 附上Linux(Ubuntu)的编译方法

source build/envsetup.sh
lunch xxxx-userdebug
make -j8 adb
make -j8 fastboot

编译成功后,则会提示bin工具生成的位置(一般位于out/host/目录下)