准备工作:获取andriod2.3.1的源码包,以及对应的jdk1.6.0.26.

1、编译andriod2.3.1需要gcc4.4的版本,但是ubuntu14.04自带的版本比这个高。需要通过以下指令进行设置。

sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib
cd /usr/binln -s gcc-4.4 gccln -s g++-4.4 g++gcc -vg++ -v

2、安装必要的软件包

sudo apt-get install git-coregnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-devbuild-essential zip curl libncurses5-dev zlib1g-dev valgrind

3、jdk的安装和配置

安装好jdk后(注意:要根据主机的类型选择合适的jdk安装包),需要进行如下配置。

sudo vi /etc/profile 添加以下内容:

JAVA_HOME=/usr/lib/jvm/jdk1.6.0_26

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_26 /bin/java 300 
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_26 /bin/javac 300

sudo update-alternatives --config java

4、Andriod的编译

(1)、解压源码包

tar -jxvfandroid_gingerbread_realv210_ver_1_0.tar.bz2

(2)、编译uboot

cdandroid_gingerbread_realv210_ver_1_0/bootable/uboot_smdkv210/

./build

编译过程中遇到以下问题:

在Ubuntu14.04 64位系统中已经安装了libc6:i386的库,编译Uboot时提示error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory.

解决方法:

sudo apt-get install lib32z1

这样在uboot_smdkv210下将得到u-boot.bin文件。

(3)、编译andriod

在终端下进入andriod_gingerbread_realv210_ver_1_0目录,运行下面命令完成andriod的编译。

./build_andriod

编译过程中遇到以下问题:

问题1:

Checking build tools versions...
build/core/main.mk:76: ************************************************************
build/core/main.mk:77: You are attempting to build on a 32-bit system.
build/core/main.mk:78: Only 64-bit build environments are supported beyond froyo/2.2.
build/core/main.mk:79: ************************************************************
build/core/main.mk:80: *** stop. Stop

解决方法:

vi build/core/main.mk 将下面的部分:

73 ifeq ($(BUILD_OS),linux)
74 build_arch := $(shell uname -m)
75 ifneq (i686,$(findstring i686,$(build_arch)))
76 $(warning ************************************************************)
77 $(warning You are attempting to build on a 32-bit system.)
78 $(warning Only 64-bit build environments are supported beyond froyo/2.2.)
79 $(warning ************************************************************)
80 $(error stop)
81 endif
82 endif

改为如下所示:

73 ifeq ($(BUILD_OS),linux)
74 build_arch := $(shell uname -m)
75 # ifneq (i686,$(findstring i686,$(build_arch)))
76 # $(warning ************************************************************)
77 # $(warning You are attempting to build on a 32-bit system.)
78 # $(warning Only 64-bit build environments are supported beyond froyo/2.2.)
79 # $(warning ************************************************************)
80 # $(error stop)
81 # endif
82 endif

即可解决上述问题1。

问题2:

dalvik_system_Zygote.c:191:19: error: storage size of 'rlim' isn't known

解决方法如下:

添加头文件#include <sys/resource.h>到以下文件
dalvik/vm/native/dalvik_system_Zygote.cpp

问题3:

/usr/include/zlib.h:34:19: fatal error: zconf.h: No such file or directory

解决方法如下:

sudo ln -sfn /usr/include/x86_64-linux-gnu/zconf.h /usr/include/

问题4:

/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.a when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz
/usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libneo_cgi.so] Error 1

解决方法如下:

sudo apt-get install lib32z1-dev

sudo apt-get install zlib1g-dev

(4) 编译完成

出现以下信息说明编译完成:

Total compile time is 16 seconds

[[[[[[[ Make ramdisk image for u-boot ]]]]]]]

ok success !!!

编译结束后便可以在android_gingerbread_realv210_ver_1_0/out/target/product/smdkv210下得到kernel.img ,  ramdisk-yaffs.img , userdata.img , system.img等镜像文件,分别是linux内核镜像文件,根文件系统镜像,data分区镜像,system分区镜像。

ubuntu14.04下Andriod2.3.1编译环境的搭建相关推荐

  1. linux qt搜狗输入法用不,Ubuntu14.04下搜狗输入法不支持Qt5环境

    问题环境确认: 系统平台Ubuntu14.04/ 安装了搜狗输入法/ 安装Qt5.4.1 一般自定义下载来Qt软件包,安装之后,都会有这个问题,在Qt环境下或Qt Creator下不能切换输入法,也不 ...

  2. 完美解决Ubuntu16.04下配置vs code编译环境

    Vs Code环境配置 引用文献 其他参考:在Ubuntu中安装VSCode并配置C/C++开发环境的方法步骤 sudo apt-get update //访问源列表,并读取软件列表 sudo apt ...

  3. Ubuntu14.04 下 OpenCV2.4.9 编译

    1. 下载OpenCV2.4.9 解压到home/username/opencv/opencv2.4.9 2.安装cmake $sudo apt-get install cmake 3.编译openc ...

  4. ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录

    已有条件: ubuntu14.04+cuda7.5+anaconda2(即python2.7)+matlabR2014a 上述已经装好了,开始搭建caffe环境. 1. 装cudnn5.1.3,参照: ...

  5. PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建

    PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建 最近一段时间会学习一下PHP全栈开发,将会写一系列的文章来总结学习的过程,以自勉. 第一篇记录一下LAMP环境的安装 0. 安装Apa ...

  6. python ubuntu18.04 sublime_Ubuntu下Sublime配置python编译环境及新手使用指导:

    Sublime下配置python编译环境及搭建虚拟环境:(windows下大致相同) 1.编译环境配置 2019-3-6更新教程,发现好像 官方网址打不开了,要改一下源才行. 解决办法: 点击 Pre ...

  7. Linux(Ubuntu14.04)下安装Anaconda和Spyder

    Linux(Ubuntu14.04)下安装Anaconda是为了安装python所需要的各种库以及他们的环境配置. Spyder是使用python的IDE 安装python和pip 一般linux系统 ...

  8. 【SLAM】Ubuntu14.04下配置LSD-SLAM

    本文记录了LSD-SLAM在Ubuntu14.04下的安装过程. 安装环境: Trusty (Ubuntu 14.04) amd64 ROS Indigo Igloo ORB-SLAM 文章目录 1. ...

  9. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...

最新文章

  1. 任何网络都能山寨!新型黑盒对抗攻击可模拟未知网络进行攻击 | CVPR 2021
  2. mysql char 和varchar哪种效率高_MySQL数据库中的字段类型varchar和char的主要区别是什么?那种字段的查找效率要高,为什么?...
  3. 20189218 2018-2019-2 《密码与安全新技术专题》第9周作业
  4. poj 2769 感觉♂良好 (单调栈)
  5. android 自定义actionbar,如何让android的actionbar浮动且透明
  6. Spark之 使用SparkSql操作mysql和DataFrame的Scala实现
  7. win环境sftp软件_WinSCP中文版
  8. Qt:Windows编程—Qt实现本地服务管理
  9. CF125E MST company (凸优化+MST)
  10. 【Android 初学】3、控件布局初步
  11. Linux用apt命令安装软件
  12. 一步步实现 仿制Android LOL多玩盒子(二) 物品装备相关
  13. vue 点击取消按钮关闭页面_vue 点击按钮弹窗,点击关闭按钮关闭弹窗。
  14. 绿色明珠--野三坡白草畔
  15. bzoj 5498: [2019省队联测]皮配【dp】
  16. 通过百度坐标获取地址
  17. Arduino Uno + APDS9930 实现手势控制LED灯亮灭、调光等
  18. 视频会议系统结构逻辑
  19. 深度学习-84:自动驾驶技术(L0-L5级别)
  20. 一个平凡的外国人,却对中国大爱无疆

热门文章

  1. 反编译IDA_Pro
  2. 返利是怎么返的_天猫超市抢券攻略
  3. Linux查看网络即时网速
  4. VC控件——CTreeCtrl中HitTest的用法
  5. recurdyn matlab版本,基于Matlab与RecurDyn的电传动履带车辆的联合仿真
  6. 用友u8计算机快捷键,用友U8快捷键一览表
  7. EBS系统扫二维码登录开发
  8. 配置http和https
  9. Flood---ZJFC Weekly - 5
  10. 杭州2.0之新挑战、新梦想