记录自己编译android源代码的全过程

2 篇文章 0 订阅
2 篇文章 0 订阅

        编译源代码的想法已经很久的念头了,以前是编译过,但是屡屡失败,而又屡屡重试。遇到了很多莫名其妙的问题。由于对linux不是非常的熟悉,在配置环境上都花了不少时间啊!!最近终于成功编译了 5.1.1 的版本,那叫一个开心,好吧废话不多说,开始我们编译之旅吧·····

       在编译之前,我还是建议大家熟悉一下linux的命令行,例如:一些简单的获取权限,修改文件权限,解压之类的命令。



1、Linux环境准备:

        由于android源代码的编译需要使用linux系统,所以你必须配置好Linux系统编译环境。这里比较推荐使用Ubuntu,官网下载地址:http://www.ubuntu.com/download/,弄一个最新版本就ok。系统的安装我就不详细介绍了,可以虚拟机也可以是直接安装,我比较推荐安装到主机上面去,虚拟机是没法比的,网上也有很多资料(请不要吐槽我懒哦,这是程序猿的天生的气质啊~~偷笑) 。


       Java jdk环境配置:直接执行 apt-get install java ,系统会列出几个java 版本 选择一个安装就可以了。

Python也是一样的执行方法。


非常重要发火

注意:

               在划分系统盘分区的时候呢最好给足空间,个人推荐最少是 100G,内存RAM 最少要给4G或者8G(推荐8G),由于在编译的时候如果你使用的线程数越多的使用的系统内           存就越大,内存不足的时候,那你就只能盯着屏幕定在哪无法动弹了,为了避免这种情况的发生有条件还是分个8G的。如果是直接安装4G有点勉强,但也还凑合。


2、下载源代码:

       国内如果要想在Google的source code 的话如果你不用fq,我的建议是你最好身在米国或者香港 。

       在此也贴出Google的官方地址:source.android.com

       如果你很幸运的被q了,或者身在我大中华,请移步到这里: 清华大学镜像,这里有很详细的下载与配置信息,特别是那些只想更新SDK的同学,但是死活都连不上。感谢我大清华的学霸门的呕心沥血的分享。

        如果你还没弄懂清华的如何弄,没关系 直接源码奉上(提供各种版本的下载)大笑

        百度网盘: http://pan.baidu.com/s/1qX6ZlnA  


3、开始编译

       前面的工作如果都已经都执行没问题的话真正就开始真正编译了。cd 到源代码的根目录,


在执行命令行编译时建议先把所有的文件执行 777 授权: chmod 777 -R (你源代码路径)


       首先执行:

       1、  $ source build/envsetup.sh 或者   $ . build/envsetup.sh       

         (此命令是为了准备环境,诸如 mm命令就是要通过此命令来指定谋个模块单独编译,而此命令要在环境准备命令           执行后才有效)

2、$ lunch  这个是指定编译时输出的平台 (其实这一步可以不执行也可以)


        

3、$make -j4 (我使用的是四线程执行所以是 -j4,这里要提醒下大家,如果你分配的内存比较小的话建议直接 执行make就好了,因为线程越多需要的内存就越大,编译出错的可能性就越大,但是如果只输入make命令,会带来 12小时以上的等待时间的代价,这还没有包括中途有可能出错而要继续编译的时间)

            出错就是使用: make -k 继续编译(前提是你已经处理好问题了),如果你的配置都按照上面的来通常不会有什么问题,最多就会出现一个java注解的问题,执行第二项就好。


        至此编译已经全部完成,接下来就可以在模拟器中运行了。

命令: $emulator


        到这里,你肯定还没有完成你想要的。对就是要对源码修改后进行编译!


现在android 5.0以上已经支持直接导入androidstudio 了,所以我们已经可以告别eclipse 和 sourceInsign ,所以如果还没有熟悉Androidstudio的童鞋就赶紧投向Google的怀抱吧!下面就演示生成Androidstudio的补丁程序,那结构,那代码,保证你欢喜  偷笑


援引此文,也感谢作者的分享,以下是原文:


Android拓展系列(10)--使用Android Studio阅读整个Android源码

之前一直在windows下用source insight阅读android源码,效果非常好。
后来远程异地服务器,网络限制,一直用ssh + vim,现在主要还是以这种方式。
最近发现一个不错的东西(早就有了),在android源码中有这么一个目录development/tools/idegen。
顾名思义,是生成ide的project文件,主要是生成intellij的project文件,当然夜可用于android studio。
使用之后,发现效果超棒,所以这里专门撰文推荐。

1、效果图

2、编译idegen模块
源码要编过,不然idegen没法生成。
提示:

1
2
3
4
5
// 找不到idegen,需要全局编译一下
/*
ubuntu:~/Data/cyanogenmod$ . development/tools/idegen/idegen.sh
Couldn't find idegen.jar. Please run make first.
*/

但是我相信很多看源码的人是不需要编译的,所以只要我上传一个idegen.jar:
http://jayfeng-files.stor.sinaapp.com/idegen.jar
把这个文件copy到out/host/linux-x86/framework/目录下:

1
$ cp idegen.jar ../cyanogenmod/out/host/linux-x86/framework/idegen.jar

然后在cyanogenmod目录下执行:

1
2
3
4
5
/*
$ . development/tools/idegen/idegen.sh
Read excludes: 21ms
Traversed tree: 54700ms
*/

在我的电脑上花了54s多生成完毕,查看目录,多了2个文件:android.ipr和android.iml。

3、导入到android studio
打开Android studio,点击File > Open,选择刚刚生成的android.ipr就好了。
过一会儿可以在android studio完美打开了,如前面的截图

4、小结
可以结合android studio,界面,智能提示都比source insight要好,超赞!


       

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值