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

一.由于编译安卓源码时间较长,为了节省编译时间以及编译出现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编译。

  1. 编译首先将代码从svn下载下来:svn co svn://xxip /xxfolder. 然后将android-ndk-r8e, android-sdk-linux, jvm, toolchain 解压到ubuntu本机中自己创建的/platform/android下,并将profile合并到本机的/etc/profile中,profile主要添加了环境变量的配置,这些配置依赖这些解压包,然后重启电脑。
  2. 输入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
  3. 编译参考手册的命令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查看更多帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值