关闭

交叉编译之在Linux下编译Windows版本的adb和fastboot

标签: android
811人阅读 评论(1) 收藏 举报

Fedora 17 64位
android:4.0.1


1.到android源代码目录

2. 执行:

[plain] view plaincopy
  1. # . build/envsetup.sh  

3. 执行

  1. # choosecombo  

选择各个参数。这两步设置了一些编译参数和环境变量,按照你正常编译android的设置即可。

4.如果是第一次编译,需要先编译Linux下的adb版本,否则到第5步

    执行:

[plain] view plaincopy
  1. # make adb  

5.安装了linux-windows交叉编译环境MinGW 第一步是编译c程序,第二步是编译cpp程序

    执行:

[plain] view plaincopy
  1. # yum install mingw32-gcc  
  2. # yum install mingw32-gcc-c++  

4.到android源代码目录下找到相应的文件:~/ANDROID_SOURCE_CODE/build/core/combo/HOST_windows-x86.mk
  对以下代码:
[plain] view plaincopy
  1. #  TOOLS_PREFIX := /usr/bin/i586-mingw32msvc-  
  2. #  HOST_C_INCLUDES += /usr/lib/gcc/i586-mingw32msvc/3.4.4/include  
  3. #  HOST_GLOBAL_LD_DIRS += -L/usr/i586-mingw32msvc/lib  
  4.   
  5. #  HOST_CXX := $(TOOLS_PREFIX)g++$(TOOLS_EXE_SUFFIX)  
  修改为:
[plain] view plaincopy
  1. #  TOOLS_PREFIX := /usr/bin/i686-w64-mingw32-  
  2. #  HOST_C_INCLUDES += /usr/i686-w64-mingw32/sys-root/mingw/include  
  3. #  HOST_GLOBAL_LD_DIRS += -L/usr/i686-w64-mingw32/sys-root/mingw/lib  
  4.   
  5. #  HOST_CXX := $(TOOLS_PREFIX)g++ -static-libgcc$(TOOLS_EXE_SUFFIX)  
  以上修改视MinGW的版本而定。

  最后执行:

[plain] view plaincopy
  1. # make USE_MINGW=y adb  

  这里可能会报3个不能被识别的命令选项,不知道是不是MinGW版本的问题。目前还发现有影响:
[plain] view plaincopy
  1. #  cc: error: unrecognized command line option ‘-mfloat-abi=softfp’  
  2. #  cc: error: unrecognized command line option ‘-mfpu=vfpv3-d16’  
  3. #  cc: error: unrecognized command line option ‘-mthumb-interwork’  

5. 执行:

[plain] view plaincopy
  1. # make USE_MINGW=y fastboot  

最后到out/host/windows-x86/bin目录下就能找到你刚刚编译的东西了。

注:如果遇到没有安装的包,安装后重试。如ncurses之类的包。
参考:http://blog.csdn.net/wzz_momo/article/details/6577039

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:42430次
    • 积分:629
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:62篇
    • 译文:0篇
    • 评论:4条
    最新评论