android系统开发3-编译android系统

以下教程基于mt6737模块;

购买链接: https://item.taobao.com/item.htm?spm=a230r.1.14.107.3b74243a8ctKlK&id=611065312082&ns=1&abbucket=3#detail

 

qq群: 1092105957

 

通过之前的两篇文章,我们的模块成功跑起来了,这一篇介绍如何编译自己的android系统;

 

我们分一下几步来完成:

  • Android源码开发环境搭建;
  • Android源码编译;
  • Android源码烧写;

 

1 安装虚拟机和ubuntu

1.1 参考文档

可参考资料包中的“Android_Build_Environment_on_Ubuntu_12.04_64-bit_Installation_SOP.pdf”

 

1.2 下载并安装VMware

我们首先需要一个虚拟机,来安装我们的linux系统,不管是用VMWare还是VirtualBox都可以,我们尽量按照说明文档来操作;

 

笔者这里用的是VMware,从网上下载一个最新版本就可以,安装好后运行VMware,如下图:

 

接下来在VMware中安装Ubuntu系统,笔者使用的是Ubuntu15.10,现在比较新的版本已经是ubuntu18,不同的版本会有些许差异,搭建编译环境可能会遇到不同问题,建议使用和笔者同样的版本;

 

这里用ubuntu15.10 桌面版来做说明,因为网上都可以找到,笔者没有放到资料包中;

 

接下来我们在虚拟机中安装ubuntu;

 

 

 

上图点击”完成“,然后去喝杯咖啡,等待一段时间之后,我们的linux系统就在虚拟机中安装好了,启动虚拟机,如下如,输入在安装时设置的账号和密码:

 

 

 

2 安装编译android所需的依赖库

2.1 参考文档

“Android_Build_Environment_on_Ubuntu_12.04_64-bit_Installation_SOP.pdf”

2.2  更新软件源

你可能会问,什么是软件源,其实就是一堆服务器地址,差不多相当于linux的应用商店;

 

这里我们先切换说下如何切换root用户,在后续的操作中,笔者建议都是用root用户,避免出现一些权限问题;使用如下命令,输入密码,但在root用户操作一定要小心,万一删了系统文件,那麻烦就大了;

 

切换到root用户后,打开sources.list进行编辑;

 

 

打开sources.lis后,删除原来的所有内容,用下面的内容代替:

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial main restricted #Added by software-properties

deb http://mirror.neu.edu.cn/ubuntu/ xenial main restricted

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial restricted multiverse universe #Added by software-properties

deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties

deb http://mirror.neu.edu.cn/ubuntu/ xenial universe

deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates universe

deb http://mirror.neu.edu.cn/ubuntu/ xenial multiverse

deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates multiverse

deb http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties

deb http://archive.canonical.com/ubuntu xenial partner

deb-src http://archive.canonical.com/ubuntu xenial partner

deb http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted

deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties

deb http://mirror.neu.edu.cn/ubuntu/ xenial-security universe

deb http://mirror.neu.edu.cn/ubuntu/ xenial-security multiverse

deb http://us.archive.ubuntu.com/ubuntu trusty main universe

 

 

 

保存后,执行update命令,更新软件源,会花点时间下载资源,如下图,注意要保证网络通畅,不然没有办法更新软件源:

 

2.3 安装依赖库

笔者将需要的依赖库都做了列举,一条条执行就可以,如果有个别安装失败,别担心,失败是成功他娘,遇到具体问题去网上搜一下,这种问题一般和软件源及系统版本有关,网上一般能找到答案,如果还是有问题,可以留言,博主也可以看一看;

下面的依赖库不要漏掉,不然后面编译系统还是会出问题;

 

sudo apt-get update

sudo apt-get install Git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev

sudo apt-get install lib32z1 lib32ncurses5

sudo apt-get install  x11proto-core-dev libx11-dev lib32z1-dev

apt-get install libgl1-mesa-dev

apt-get install g++-multilib

apt-get install mingw32

apt-get install tofrodos Python-markdown libxml2-utils

apt-get install lib32readline-gplv2-dev


       ##jdk安装,这里要使用jdk1.7版本,不能使用高版本

sudo add-apt-repository ppa:openjdk-r/ppa

sudo apt-get update

sudo apt-get install openjdk-7-jdk

sudo update-alternatives --config java

sudo update-alternatives --config javac

 

3 android源码编译

3.1 参考文档

见资料包中的,“Driver_All_in_One_V1.0_MT6735_6753.pdf”

3.2 android源码解压

Android源码比较庞大,已经打包放到网盘,因为百度网盘地址容易失效,请联系卖家询问最新下载地址;

       源码下载后,放到虚拟机中,在虚拟机用使用快捷键 ctrl+alt+t,打开teminal,然后cd到源码目录,如下图,笔者源码位置在/home/william下,

则执行命令

cd /home/william

 

然后执行解压命令,由于android源码分多个包压缩,解压时使用如下命令,这里要注意,资料包的源码可能会更新,下面解压文件的名称也会变,执行出错时可以对比文件名是否一致;

cat android6_6735_M_161114.tar.bz2.a* | tar -jx

如果没有出错,等待一会就可以看到android源码了;

进入android源码目录,执行 ls命令,居然有这么多文件,欢迎打开android的大门!!!!!

 

 

3.3 编译android

资料包中给出的android源码是适配好的,执行下面几个命令,就可以完成编译;

  • Step1 进入源码目录 cd
  • Step 2 初始化环境变量 source source build/envsetup.sh,输出如下

 

  • Step3 用lunch命令列出所有工程,如下

 

  • Step4 因为我们的模块支持全网通,这里选择工程40(eng是开发版本),直接输入数字40即可,如下,如果输入错误也没有关系,ctrl + C退出再执行lunch命令就可以;
  • Step5 执行make操作,如果你用的是自己笔记本编译,那恭喜你,可能需要一天时间;

 

    如果前面的步骤没有问题,那经过一段时间的等待,就会看到success字样,如果失败,也不要着急,仔细检查上面的步骤,找度娘,或者留言,都可以,大家一起探讨;

   

    下一篇我们来讲一讲硬件相关,模块购买后,还需要自己搭一下电路,如果你不会焊接,不懂硬件,那你不是一个合格的驱动工程师,做底层开发,最起码的焊接,原理图,是要学会的;

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值