黑马程序员技术交流社区

标题: Android 源码编译 [打印本页]

作者: 李印东老师    时间: 2014-6-28 22:58
标题: Android 源码编译
本帖最后由 李印东老师 于 2014-6-28 23:25 编辑

Android源码编译

在编译源码之前需要做一些准备操作, 详细步骤如下:

1.   安装JDK, google官方要求编译2.3源码需要JDK1.6.


2). 创建目录.
sudo mkdir /usr/java

3). 把下载好的jdk-6u45-linux-x64.bin拷贝到上面创建的目录下.
sudo cp /home/liyindong/jdk-6u45-linux-x64.bin /usr/java

4). 添加可执行权限.
sudo chmod755 /usr/java/jdk-6u45-linux-x64.bin

5). 解压.
cd /usr/java
sudo ./jdk-6u45-linux-x64.bin

6). 配置环境变量.
export JAVA_HOME=/usr/java/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

7). 验证是否成功.
liyindong@liyindong-VirtualBox:~$java -version
javaversion "1.6.0_45"
Java(TM)SE Runtime Environment (build 1.6.0_45-b06)
JavaHotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)


2. 安装其他编译时依赖的软件.
注意: ubuntu自带的源中速度比较慢, 有些软件找不到, 所以需要修改为国内的源, 修改源步骤如下:
1). 备份ubuntu自带的源.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old

2). 修改源文件.
sudo gedit /etc/apt/sources.list

3). 这时会弹出一个文本编辑框, 先删除所有内容, 然后把以下内容拷贝进去, 并保存.
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universemultiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universemultiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universemultiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universemultiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universemultiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universemultiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universemultiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universemultiverse

deb http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universemultiverse
deb http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universemultiverse
deb http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universemultiverse
deb http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universemultiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty-security main restricted universemultiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty-updates main restricted universemultiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty-proposed main restricted universemultiverse
deb-src http://mirrors.sohu.com/ubuntu/ trusty-backports main restricted universemultiverse

deb http://mirrors.oschina.net/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.oschina.net/ubuntu/ trusty-backports main restricted universemultiverse
deb http://mirrors.oschina.net/ubuntu/ trusty-proposed main restricted universemultiverse
deb http://mirrors.oschina.net/ubuntu/ trusty-security main restricted universemultiverse
deb http://mirrors.oschina.net/ubuntu/ trusty-updates main restricted universemultiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty-backports main restricted universemultiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty-proposed main restricted universemultiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty-security main restricted universemultiverse
deb-src http://mirrors.oschina.net/ubuntu/ trusty-updates main restricted universemultiverse

4). 保存之后, 更新数据源.
sudo apt-get update


执行完上面几步, 数据源就更新完成了, 下面就开始安装编译搜以来的软件, 同样, 在终端中以行为单位依次输入以下命令:
sudo apt-get install gnupg
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gperf
sudo apt-get install zip
sudo apt-get install curl
sudo apt-get install build-essential
sudo apt-get install libesd0-dev
sudo apt-get install libwxgtk2.6-dev
sudo apt-get install libsdl-dev
sudo apt-get install lsb-core
sudo apt-get install lib32readline-gplv2-dev
sudo apt-get install g++-multilib
sudo apt-get install lib32z1-dev
sudo apt-get install libswitch-perl


3. 开始编译, 在源码的目录下, 执行一下命令:
make



作者: 坏男孩    时间: 2014-6-29 09:50
老师,为什么不用最新的JDK1.8呢?
作者: zhohao    时间: 2014-6-29 10:47
坏男孩 发表于 2014-6-29 09:50
老师,为什么不用最新的JDK1.8呢?

因为视频是6版的,嘿嘿。可以不然有改动的地方对不上,升级就是有改动的地方,用8版有时候会导致编译失败或者报异常。
作者: luheqi    时间: 2014-6-29 11:50
老师,你这个是基于debian的Linux的吧,我们大多数都是windows。
作者: 坏男孩    时间: 2014-6-29 13:17
zhohao 发表于 2014-6-29 10:47
因为视频是6版的,嘿嘿。可以不然有改动的地方对不上,升级就是有改动的地方,用8版有时候会导致编译失败 ...

噢噢,soga~
作者: hm521824    时间: 2014-6-29 15:13
{:3_46:}就是说嘛,一看瞬间傻眼了。
作者: tangliping    时间: 2014-6-29 19:00
这样啊,谢谢老师
作者: 扛把子    时间: 2014-6-29 19:38
提前学习了!
作者: ahuhxl    时间: 2014-6-29 19:43
学习中的小菜鸟
作者: 18353666072    时间: 2014-6-29 19:43
Soga。。。。。。。。。。。。。
作者: felixzr    时间: 2014-6-29 21:07
坏男孩 发表于 2014-6-29 09:50
老师,为什么不用最新的JDK1.8呢?

1.8有些语法和我们现在用的习惯都变了
作者: felixzr    时间: 2014-6-29 21:08
源码编译以前我在安智做版主时也接触了点,不过现在全忘记了
作者: caiyaoren    时间: 2014-6-29 21:08
呃呃呃   好的  涨姿势了
作者: felixzr    时间: 2014-6-29 21:10
luheqi 发表于 2014-6-29 11:50
老师,你这个是基于debian的Linux的吧,我们大多数都是windows。

源码编译想内核这些必须得Linux,Windows也没关系装个虚拟机在里面跑代码或者双系统,这到没影响
作者: 坏男孩    时间: 2014-6-29 21:41
felixzr 发表于 2014-6-29 21:07
1.8有些语法和我们现在用的习惯都变了

噢噢,这样啊。
作者: felixzr    时间: 2014-6-29 21:53
坏男孩 发表于 2014-6-29 21:41
噢噢,这样啊。

,而且现在的企业好些都还在用低版本的,出新版本是好事,但不建议你做试验品,至少等之后普及了才来用吧
作者: —Jimmy—    时间: 2014-6-29 22:50
谢谢,先收下!:)
作者: 小呀嘛小二郎    时间: 2014-6-29 23:01
我也是菜鸟。。
作者: 锦宁    时间: 2014-6-29 23:53
菜鸟!!路过。了解下!!!
作者: 菠萝包丶    时间: 2014-6-30 00:04
来学习了~
作者: 坏男孩    时间: 2014-6-30 08:05
felixzr 发表于 2014-6-29 21:53
,而且现在的企业好些都还在用低版本的,出新版本是好事,但不建议你做试验品,至少等之后普及了才来用吧 ...

噢,我本想着越新的越好使呢,,,不过新版本确实会有很多问题~
作者: liletian2104    时间: 2014-6-30 08:30
学习了,不过还没学到
作者: 刘双    时间: 2014-6-30 09:28
顶下!!!!!!!!!!!!!!
作者: lucky_man    时间: 2014-6-30 09:38
提前先学习一下
作者: 暗影流光    时间: 2014-6-30 09:48
好,多谢分享
作者: java_668    时间: 2014-6-30 11:22
学习一下。。
作者: 小风子    时间: 2014-6-30 11:28
学习一下
作者: itisdream    时间: 2014-6-30 12:10
最新版1.8 吧。。
作者: e644638045    时间: 2014-6-30 14:10
谢谢,已经接纳
作者: Leung    时间: 2014-6-30 18:02
学习了!!
作者: lijinhe    时间: 2014-6-30 18:27
学习一下!!!
作者: gzbbxu    时间: 2014-6-30 22:53
研究研究
作者: 無訫    时间: 2014-7-1 08:38
来学习啦!
作者: 超953042715    时间: 2014-7-1 10:21
菜鸟路过,打酱油
作者: lyssenlove    时间: 2014-7-1 21:18
这是第一次开始有心去学习adroid,大概看了下,用到l了Linux的一些操作命令,对adroid进行源代码编译,确实挺有趣。
作者: 大xiaoぃ伙子。    时间: 2014-7-2 10:54
好难的说!!!!
作者: kongyan4696    时间: 2014-7-2 11:07
ubuntu。。
作者: 八零、玖羚    时间: 2014-7-2 11:09
ubuntu用不来,不过先收藏
作者: aiq黑马程序员    时间: 2014-7-2 11:24
看着好麻烦:L
作者: android0276    时间: 2014-7-2 16:11
哈哈,这个我也会
作者: 神宇    时间: 2014-7-2 18:48
正在努力的学习中...
作者: zhuohong_xiao    时间: 2014-7-3 21:38
我只是一个门外汉,什么时候可以入行啊,纠结啊。这个我还是学习了。先收藏吧。加油。
作者: 邬建平    时间: 2014-7-4 23:44
震得吗为什么啊
作者: 卞新浩    时间: 2014-7-5 10:27
菜鸟 路过
作者: 柯柯    时间: 2014-7-5 16:58
HOHO                              
作者: Akm    时间: 2014-7-5 17:48
老师,如何下载源码呢.
作者: 为梦想而活着    时间: 2014-7-5 23:15
路过学习下,不过我们习惯了windows啊

作者: mytongyong    时间: 2014-7-9 21:11
最近也在学Linux,先收藏了,以后有时间在来编译试试
作者: 天凌蓝    时间: 2014-7-10 01:27
顶一下东哥,对了,东哥,你忘记做提醒:注意分配给下载源码和编译的磁盘空间大小了……
作者: fengzheng    时间: 2014-7-10 21:49
学习了,赞一个
作者: 736275909    时间: 2014-7-13 21:34
有时间看看,~~
作者: HPU--spring87    时间: 2014-7-21 13:49
mark,还没入门 安卓。:lol
作者: 581712sen    时间: 2015-1-17 00:16
学习,学习。。。
作者: ITHM明    时间: 2015-8-1 07:16
虽然现在还看不懂,但多了解些行业只是终归是好的.感谢楼主分享.
作者: lingxius    时间: 2015-8-19 10:45
现在android都不提供adnroid版的eclipse了,为嘛不用android studio来进行开发教学呢?
作者: 858009904    时间: 2016-2-8 22:20
来学习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2