您的位置:首页 > 移动开发 > Android开发

Android源码编译详解【四】:Android 6.0_源码的下载与编译

2016-07-27 15:55 405 查看
 

 1、AOSP源码下载 

        AOSP:即为"Android Open-Source Project"的缩写,中文意为 :"安卓开放源代码项目"。

Google官方宣称:任何人都可以以任何目的使用Android源代码,我们也十分欢迎这样做。但是为了共享整个Android生态系统的应用程序,所有设备制造商必须参加“安卓兼容性计划”,但事实上......在中国很难实现兼容计划~!。



        目前,我们可以下载Google原生未定制修改的AOSP版Android源码进行测试编译,但是一定要保证整套源码的健全性,否则无法编译通过。

        正规手机厂商做ROM定制时,普遍的方案都是从源码定制厂商(如:高通、联发科、华为、Inter、Marvll等)拿到针对其硬件平台优化后的源码,进行二次的定制、修改、编译和发布(例如国内备受大家喜爱的: 小米 MIUI、魅族 Flyme、锤子
SmartisanOS、华为EMUI、一加 氢OS、OPPO ColorOS 等等)。



        通常情况下,手机厂商都会名义上免费拿到配套源码,前提是他们的产品需要搭载配套的芯片(如 高通的 Snapdragon
骁龙系列、MTK 的Helio 系列、华为的麒麟等)。

   

        这里提供一套Android 1.6 --- Android 6.0各个版本下载的网盘地址,供大家测试使用,其健全性还有待考究:

        链接: http://pan.baidu.com/s/1bmArk6           密码:m8fq

 

 2、上传源码到Ubuntu编译服务器 

        首次向编译服务器上传初始化源码,一般是由管理员账户执行,较比简便的的方式就是使用FTP软件(如Xshell、FlashFXP、Xftp等)登陆服务器,直接拖进对应的目录。



 3、 编译前的配置 

        编译前对编译环境的配置,是我们编译源码的必行之路。介于不同的源码定制厂商对环境配置可能会有一定的出入,因此,这里只是介绍几个基本通用的环境配置命令,供大家参考:

 

        3.1在 .bashrc文件中添加相关属性:

                echo export USE_CCACE=1 >> ~/.bashrc

 

        3.2为了提高编译效率,我们需要设置编译器高速缓存,执行以下命令:

                prebuilts/misc/linux-x86/ccache/ccache -M 50G

 

                -M 50G 两个参数表示设置50G大小的空间作为编译缓存,这个数值可以根据自己的硬盘空间大小进行调整

 

        3.3导入编译Android源码所需的环境变量和其它参数,运行以下命令:

                source build/envsetup.sh







        3.4运行lunch命令选择编译目标

                 lunch      

  

 
  

这里输入 "1" 选择aosp_arm_eng 



        各种版本的不同之处,待补充。

            

 4、执行编译 

        完成编译环境的配置之后,执行如下命令开始源码编译:

                sudo make -j8



        【执行make -j8, 8为同时编译的线程数,一般Google推荐执行源码编译的线程数 = CPU核心数x 2 + 2,比如4核,就推荐10线程编译,执行make –10。

        关于cpu个数,可以用下面命令查看:

 
              cat /proc/cpuinfo


        编译命令同配置命令一样,不同的定制厂商都会包装出各自不同的源码编译方式和命令。

        由于使用虚拟机编译源码的时长超乎想象,所以,暂时不给大家提供编译结果的展示,后续,配置实体服务器编译正规源码后,补充贴图。

 

 5、刷机烧写ROM 

        由于暂时没有正式可编译的定制源码和测试机/测试板,而且不同源码定制平台厂商会提供不同刷机工具FlashTool,因此,这步暂时不做过多的说明,后续再行补充,敬请谅解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息