Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4731
  • 博文数量: 3
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-09 10:16
个人简介

让梦想在一分一秒中慢慢实现。。。

文章分类
文章存档

2015年(3)

我的朋友
最近访客

分类: 嵌入式

2015-02-22 15:57:33

真机64位的ubuntu12.04下载及编译android-4.0.4_r2的全过程记录。


1.
解决ubuntu下vi在编辑模式下用不了方向键和退格键
$sudo apt-get remove vim-common 
$sudo apt-get install vim


2.
更新ubuntu到源问题;


3.
添加hosts中到服务器地址:
在Linux中到/etc/hosts中,添加如下:
203.208.46.207 android.googlesource.com
203.208.46.207 storage.googleapis.com
203.208.46.207 source.android.com
203.208.46.207


4.

在/home/tommy目录下新建一个bin目录;
进入bin目录里面,执行:
git clone  
下载完成后,进入repo文件夹,切换到稳定分支:
执行:git checkout -b stable origin/stable


这就下载了repo这个工具,但这个工具命令需要添加到系统到环境变量中去,
将repo命令所在的目录,即/home/tommy/bin/repo添加到环境变量中:


添加环境变量有两种方法,一个是针对当前用户,另一个针对root用户:


针对当前用户:
sudo gedit ~/.bashrc
在bashrc文件最后添加下面命令,
export PATH=/home/tommy/bin/repo:$PATH
若要使其立即生效,在终端执行:
source ~/.bashrc
查看显示系统环境变量到路径:
echo $PATH
就可以看到环境变量是否添加到系统中。


针对root用户:
sudo gedit /etc/environment
在PATH="....“中末尾处添加    ”冒号:“加上 ”你的环境变量路径“
如要立即生效,执行:
source /etc/environment,或重启电脑。 


下面这两行可以不要:-----------------------------------------------
#在tommy目录下新建目录:android4.0.4,并进入该文件夹:
#repo init -u
------------------------------------------------------------------


repo init -u -b android-4.0.4_r2
需要google帐号姓名和邮箱地址:
用户名:xxx xxx
mail:xxxxxx@gmail.com


最后执行:
repo sync


2、下载Android 4.1源码,参考:,源码下载过程中经常会遇到下载失败的情况,非常浪费时间,所以编写一个失败重传的脚本可以减少很多不必要的麻烦。将下面的shell脚本保存为download.sh文件放到源代码目录中,执行./download.sh开始下载(替代文档中最后一步repo sync,其余步骤必须按照文档中介绍的一步一步来)


    #!/bin/bash   
    echo "======start repo sync======"   
    repo sync   
    while [ $? == 1 ]; do   
    echo "======sync failed, re-sync again======"   
    sleep 3   
    repo sync   
    done  
重新repo sync后,在下载到最后,可能会出现一段等待时间
Fetching projects:  98% (226/230)  Fetching project platform/external/llvm
不要以为是死机。


①:安装jdk和更改编译器版本。
下面首先要做到就是安装jdk。不要采用apt-get或者ubutntu软件中直接安装jdk,这样在编译到
的时候,会出现jdk版本不一致到错误。直接到下面网址下载:

该版本是jdk-6u35-linux-i586.bin
安装和配置方法参考百度经验:





在编译到过程中会出现因gcc编译器版本不同产生到错误,所以需要提前将编译器版本更改为4.4版本。
安装gcc4.4:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4


安装完成后需要将原gcc替换成gcc4.4的,
进入/usr/bin,用ls -l gcc* 可以查看gcc版本信息。
然后操作:
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc


对于g++同理,
进入/usr/bin目录,执行:
sudo ln -s g++-4.4 g++
现在可以通过gcc -v查看版本信息了,为gcc-4.4就正确了。




②编译Android源码。
编译环境是真机安装64位的ubuntu12.04,编译过程中其实真正出现的错位就一处。
首先安装必要的库文件,
sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
然后再执行:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
然后执行:
$ source build/envsetup.sh
$ lunch full-eng


$ make -jN
一开始写的make -j4,后来在编译过程中出现了错误,修改后就莫名的无法用make j4来编译了,
改用了make -j2也不可以,后来直接用make才OK。


第一步:这一步非常重要,中间就出现了一次错误就是由于编译器中的
g++不是4.4引起的。错误现象是下面:
make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] 错误 1
当更新过g++后,还是出现错误:
g++: selected multilib '32' not installed
make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/obbtool] 错误 1
这是因为缺少一个文件。
#这一步需要在降级gcc版本过后直接执行。
sudo apt-get install g++-4.4-multilib gcc-4.4-multilib


首先出现的错误是:
make: *** [out/host/linux-x86/obj/EXECUTABLES/emugen_intermediates/main.o] 错误 1
解决方法:是在下面路径中添加一个头文件声明。
development/tools/emulator/opengl/host/tools/emugen/main.cpp
添加:#include
后面编译过程中没有出现任何错误,编译了一夜,具体时间不清楚。
最后,编译完毕显示。
Install system fs image: out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image: out/target/product/generic/userdata.img
purple@myubuntu:~/android-4.0.4_r2$ 
然后可以将生成的三个镜像文件,拷贝到sdk的system-images中,替换掉sdk中4.0.3版本的API15版本,然后直接在
sdk manager中的Tools中设置虚拟设备执行,即可验证我们自己编译的android_4.0.4_r2版本的
正确性。







第2步:下载安装基于linux的Eclipse开发工具包。
我下载到版本是:eclipse-java-luna-SR1-linux-gtk.tar.gz
直接解压到/usr/local/eclipse目录下,这个是为自己设置到,然后在
/etc/profile最后添加:
#for eclipse
export PATH=/usr/local/eclipse:$PATH
然后,执行执行:source /etc/profile就可以了。
然后打开eclipse就直接在命令行输入eclipse就可以了。




第3步:下载安装基于linux到android SDK开发工具包。
我下载到版本是:android-sdk_r24.0.2-linux.tgz
安装android-sdk-linux 过程和安装eclipse是一样到,路径放在了
/usr/local/android-sdk-linux 中了。
这里就不再赘述。


android4.04_r2下载及编译过程记录.txt








阅读(393) | 评论(0) | 转发(0) |
0

上一篇:2.ubuntu12.04开发环境搭建(2)

下一篇:没有了

给主人留下些什么吧!~~