您的位置:首页 > 其它

从ubuntu系统安装,环境搭建到安卓系统编译

2015-03-13 14:52 1061 查看
一.由于编译安卓源码时间较长,为了节省编译时间以及编译出现out of memery,建议PC机配置在8G为好。

二.首先是ubuntu的安装,可以从网上下载ubuntu的IOS镜像64位的,我用的版本是14.04.1的,下载完成后用U盘制作成启动盘,格式化的时候不要用NFS格式的,就用默认的即可。

三.接下来是环境的搭建。Ubuntu不像Windows软件安装起来那么方便,基本都是在终端下敲apt-get install xxsoftware 完成的。

1).首先我安装了slickedit的文本编辑及编译软件,拿到压缩包后直接用tar -zxvf xx.tar.gz解压后,打开bin目录的vs_exe进行安装即可.

2).由于ubuntu经常要与windows进行交互,所以给ubuntu搭建一个samba服务共享目录为好。

搭建过程:

①安装samba:apt-get install samba

②启动samba服务:/etc/init.d/smb start

③创建共享目录:mkdir /home/share

④在/etc/samba/smb.conf 添加如下代码:

[share]
path = /home/share
available = yes
browsealbe = yes
public = yes


修改时如果不能保存,就将文件的上级目录设置其下的所有文件写权限:chmod a+w xxfolder -R 这样,在home下的share文件夹就是共享文件夹, windows通过\ip地址即可访问。关于环境的搭建可以参考:http://weisjohn.blog.163.com/blog/static/31015256201221744536810/

3).安装ubuntu工具包,编译所要用的。

①. ubuntu12.04安装包:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc python uboot-mkimage lzma gettext

②. ubuntu14.04安装包:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev lib32ncurses5 lib32bz2-1.0 x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc python u-boot-tools lzma gettext libswitch-perl

四.安卓系统编译。该文所写编译为海思3716编译。

编译首先将代码从svn下载下来:svn co svn://xxip /xxfolder. 然后将android-ndk-r8e, android-sdk-linux, jvm, toolchain 解压到ubuntu本机中自己创建的/platform/android下,并将profile合并到本机的/etc/profile中,profile主要添加了环境变量的配置,这些配置依赖这些解压包,然后重启电脑。

输入adb命令,如果找不到adb,但文件中确实有adb,是因为64位系统导致,需要install 32bit lib in ubuntu-x64 system。

命令如下:

①.apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386

②.apt-get install lib32z1

编译参考手册的命令make bigfish -j32 2>&1 | tee bigfish.log(-j32代表执行命令的线程数,bigfinsh.log记录了编译过程的打印信息),编译过程中,如果报错,可以看错误日志,用gedit后台查看命令:gedit bigfish.log &

五.单独编译某个模块

使用命令mm可以单独编译某个模块,如果系统未完整编译过,直接执行mm会报错:需要out目录下的某个目标,则需要先完整编译,再单独编译其中某个模块。当执行mm后比如生成某个APK,再执行mm会报错,因为刚才以及编译过,需要clean一遍再编译,执行mm -B即可,可以使用mm -help查看更多帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐