環境:
Fedora 17 64位
android:4.0.1
1.到android原始碼目錄
2. 執行:
# . build/envsetup.sh
3. 執行
# choosecombo
選擇各個參數。這兩步設定了一些編譯參數和環境變數,按照你正常編譯android的設定即可。
4.如果是第一次編譯,需要先編譯Linux下的adb版本,否則到第5步
執行:
# make adb
5.安裝了linux-windows交叉編譯環境MinGW 第一步是編譯c程式,第二步是編譯cpp程式
執行:
# yum install mingw32-gcc# yum install mingw32-gcc-c++
4.到android原始碼目錄下找到相應的檔案:~/ANDROID_SOURCE_CODE/build/core/combo/HOST_windows-x86.mk
對以下代碼:
# TOOLS_PREFIX := /usr/bin/i586-mingw32msvc-# HOST_C_INCLUDES += /usr/lib/gcc/i586-mingw32msvc/3.4.4/include# HOST_GLOBAL_LD_DIRS += -L/usr/i586-mingw32msvc/lib# HOST_CXX := $(TOOLS_PREFIX)g++$(TOOLS_EXE_SUFFIX)
修改為:
# TOOLS_PREFIX := /usr/bin/i686-w64-mingw32-# HOST_C_INCLUDES += /usr/i686-w64-mingw32/sys-root/mingw/include# HOST_GLOBAL_LD_DIRS += -L/usr/i686-w64-mingw32/sys-root/mingw/lib# HOST_CXX := $(TOOLS_PREFIX)g++ -static-libgcc$(TOOLS_EXE_SUFFIX)
以上修改視MinGW的版本而定。
最後執行:
# make USE_MINGW=y adb
這裡可能會報3個不能被識別的命令選項,不知道是不是MinGW版本的問題。目前還發現有影響:
# cc: error: unrecognized command line option ‘-mfloat-abi=softfp’# cc: error: unrecognized command line option ‘-mfpu=vfpv3-d16’# cc: error: unrecognized command line option ‘-mthumb-interwork’
5. 執行:
# make USE_MINGW=y fastboot
最後到out/host/windows-x86/bin目錄下就能找到你剛剛編譯的東西了。
註:如果遇到沒有安裝的包,安裝後重試。如ncurses之類的包。
參考:http://blog.csdn.net/wzz_momo/article/details/6577039