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

转载 2013年12月06日 09:56:22

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

相关文章推荐

linux下NFS及交叉编译环境的配置

  • 2010年02月07日 23:39
  • 84KB
  • 下载

vlc-2.2.4 交叉编译 UbuntuX64_1604_Desktop 编译windows版本vlc

vlc 交叉编译 vlc-2.2.4
  • longji
  • longji
  • 2016年08月24日 22:15
  • 728

【ARM】嵌入式 ARM Linux 下移植 USB 蓝牙、交叉编译 bluez 各种版本

一、基本说明:目前在嵌入式 Linux 下使用 USB 蓝牙模块,比较好的解决方法就是使用 Linux 官方协议栈 bluez,这同时也是 PC 及 Android 手机上使用的蓝牙协议栈,可以说还是...

Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)

Ubuntu11.04中搭建交叉编译环境(arm-linux-gcc-4.6.1版本)  声明:本文主要参考http://blog.csdn.net/xt_xiaotian/article/...

Linux下QT及OpenCV搭建,以及交叉编译OpenCV

由于word图片很多,不方便上传,所以改成图片

linux下交叉编译libjpeg与opencv1.0

./configure --enable-shared --enable-static --prefix=/usr/local/libjpeg-arm --exec-prefix=/usr/local...

linux下arm交叉编译工具链的安装

源于韦东山《嵌入式linux应用开发完全手册》 由于工作目录建立在“/work”目录下,所以首先改变/work目录的拥有者及所属组名: $ sudo chown lb:lb /work -R 然后将”...

嵌入式Linux下常用的交叉编译制作工具

要在嵌入式Linux下使用动态语言,首先要解决的是语言解释器或执行引擎的交叉编译问题。交叉编译通常有以下几种途径:1. 直接通过交叉编译工具,手工配置交叉编译。交叉编译工具可以利用这个脚本来自动生成:...

Building GDB and GDBserver for cross debugging / Linux下交叉编译gdb和gdbserver

俗话说:工欲善其事,先必利其器。 在对嵌入式进行调试之前,必须要生成调试器。经典地,Linux平台下的调试器为gdb。 本文仅讲述如何生成调试器,不涉及其中的论理——要找理论,找老师或者课...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:交叉编译之在Linux下编译Windows版本的adb和fastboot
举报原因:
原因补充:

(最多只允许输入30个字)