现在进行android开发必然会使用到fastboot模式升级image,
fastboot的源码在android源码的 /system/core/fastboot 文件下
adb的源码在android源码的 /system/core/adb 文件下。
介绍fastboot协议的文件是fastboot_protocol.txt,在android源码的 /bootable/bootloader/legacy 文件下。
编译adb和fastboot的步骤如下:
1. 执行:apt-get install mingw32
安装了linux-windows交叉编译环境mingwin
2. 执行:. build/envsetup.sh
3. 执行:make USE_MINGW=y adb
或者 mm USE_MINGW=y adb
4. 执行:make USE_MINGW=y fastboot
或者mm USE_MINGW=y fastboot
编译后文件在out/host/windows-x86/bin/目录下。
编译过程中遇到的错误:
刚开始执行第3步或者第四步时遇到以下错误:
build/core/base_rules.mk:166: *** frameworks/base/opengl/libs: MODULE.TARGET.ETC.egl.cfg
already defined by development/tools/emulator/opengl/system/egl. Stop.
看log,是模拟器里定义 过egl.cfg了,解决方法如下:
在/development/tools/emulator/opengl/Android.mk文件中注释掉以下语句:
include $(EMUGL_PATH)/system/egl/Android.mk
再次编译,顺利通过。