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

ubuntu14.04下Android源代码的下载与编译,以及将源代码导入到Intellij(针对只需要看android源代码)

2015-08-19 22:44 489 查看
最近需要看android源代码,记录一下自己的学习过程。

一.下载源代码

这里分两种方法:1.从本地下载(前提是本地有源代码镜像)2.从网上下载。

1.本地下载 

创建一个文件夹bin:$ mkdir ~/android

                                  $ PATH=~/android:$PATH

下载和安装repo:$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/android/repo 

                             $ chmod a+x ~/android/repo 

安装好repo工具后,进入到bin目录中执行repo命令来下载android源代码了。

$cd android

~/android$ repo init -u /home/cr/mirror/mirror/platform/manifest.git -b android-5.1.0_r1

(/home/cr/mirror/mirror/platform/manifest.git是我的源代码镜像的本地地址,-b后边是需要下载的源代码的版本号)

~/android$ repo sync

下载过程可能会碰到中断现象,重复执行repo sync命令就可以继续下载了。

2.从网上下载

创建一个文件夹android:$ mkdir ~/android 

                                         $ PATH=~/android:$PATH

下载和安装repo:$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/android/repo 

                             $ chmod a+x ~/android/repo 

安装好repo工具后,进入到bin目录中执行repo命令来下载android源代码了。

$cd android

~/android$ repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r1

(https://android.googlesource.com/platform/manifest是android源代码地址,-b后边是需要下载的源代码的版本号)

~/android$ repo sync

下载过程可能会比较漫长,这取决于网速,期间还可能会碰到中断现象,重复执行repo sync命令就可以继续下载了。

二.编译android源代码
编译之前应该装好相应版本的jdk。这里介绍两种方法:

1.下载jdk压缩包,自行安装(这里以.tar.gz 64位版本为例)

jdk1.7地址如下:

http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html

1.1选择要安装java的位置,如/usr/目录下,新建文件夹java(mkdir java)

     将文件jdk-7u79-linux-x64.tar.gz移动到/usr/java

     解压:tar -zxvf jdk-7u79-linux-x64.tar.gz

     删除jdk-7u79-linux-x64.tar.gz(为了节省空间)

     至此,jkd安装完毕,下面配置环境变量

1.2打开/etc/profile(vim /etc/profile)

     在最后面添加如下内容:

     JAVA_HOME=/usr/java/jdk1.7.0_79

     CLASSPATH=.:$JAVA_HOME/lib.tools.jar

     PATH=$JAVA_HOME/bin:$PATH

     export JAVA_HOME CLASSPATH PATH

1.3source /etc/profile

1.4验证是否安装成功:java -version

2.直接用命令安装

2.1$ sudo apt-get update  

     $ sudo apt-get install openjdk-7-jdk  

2.2如果安装了好几个版本的jdk,可以通过以下命令查看,并切换:

     $ sudo update-alternatives --config java

2.3$java -version  查看当前jdk版本。

接下来就可以开始编译了:

~/android$ source build/envsetup.sh

要编译android源代码,只需要在android源代码目录下执行make命令就可以了。

~/android$ make

第一次编译可能会花费比较长的时间,而且会遇到许多问题,网上搜索都能得到解决。

三.运行android模拟器

我这里使用android模拟器emulator来运行编译出来的android源代码。执行一下命令:

~/android$ export PATH=$PATH:~/android/out/host/linux-x86/bin

~/android$ emulator -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7 -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img 

如果运行不成功可以不要-ramdisk ramdisk.img 

四.将android源代码导入到Intellij(参考:http://jeffreylyg.github.io/blog/2014/12/27/intellij-ideadao-ru-androidyuan-ma-gong-cheng-aosp/

1. 执行如下命令生成idegen.jar文件

~/android$mmm developent/tools/idegen/

2. 按如下命令执行idegen.sh脚本

~/android$development/tools/idegen/idegen.sh

这条命令执行完成后就在Android源码的根目录中生成了android.iml, android.ipr两个文件。

3. 用IntelliJ IDEA直接打开android.ipr这个文件

这时IntelliJ IDEA就会扫描整个目录并去建立索引了,这个过程是相当耗时间的,大概得一个小时左右,根据电脑的配置决定,所以为了能最大程度地缩短这个时间,在这之前我们有一些准备工作要做:增加IntelliJ IDEA所占的内存。

在”IDEA_HOME/bin/idea.vmoptions64”中改变”“-Xms -Xmx”的值,如果是32位系统就修改vmoptions。

接下来就可以阅读源代码了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息