转发请注明出处:
安卓猴的博客(http://sunjiajia.com)


前言

编译Android源码是为了更好的学习源码,当然,如果要做第三方ROM适配,也可以尝试;我们这篇重点学习如下内容:

  • 如何在Ubuntu下编译Android5.1.1源码;
  • 导入Android Studio进行源码阅读。

今天你好吗

配置编译环境

1.需要Ubuntu 64bit,建议Ubuntu14.04 64-bit;

2.安装openJDK 7:

1
2
$ sudo apt-get update
$ sudo apt-get install openjdk-7-jdk

3.更新jDK环境变量:

1
2
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac

4.为Ubuntu安装必须的packages:

1
$ sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip

开始编译

1.进入源码根目录,加速下载源码的方法请移步:《国内镜像加速Android源码下载》

1
$ cd android_source

2.初始化编译环境:

1
$ . build/envsetup.sh

3.选择编译目标,如果仅仅是为了阅读源码学习,就选择aosp_arm-eng

1
$ lunch

4.开始编译,这里使用了4个并发数:

1
make -j4

5.漫长的等待,时间不等,根据硬件配置而定,大致需要2h~10h之间。

6.编译过程中,如果出现任何问题,直接Google就行了;我的经历是,出现错误是由于源码下载不完整,为了避免,请移步《国内镜像加速Android源码下载》

7.编译成功后,终端会有如下提醒:

1
#### make completed successfully (08:04:50 (hh:mm:ss)) ####

导入Android Studio

1.编译完成后,在源码根目录下,执行:

1
mmm development/tools/idegen/

2.等待片刻,终端提示以下内容,说明android.iws, android.ipr, android.iml生成成功:

1
2
3
4
5
6
make: Entering directory `/home/monkey/Android/android-5.1.1_r3'
host Java: idegen (out/host/common/obj/JAVA_LIBRARIES/idegen_intermediates/classes)
Install: out/host/linux-x86/framework/idegen.jar
make: Leaving directory `/home/monkey/Android/android-5.1.1_r3'
#### make completed successfully (9 seconds) ####

3.打开Android Studio,选择打开一个现有的Android Studio项目,选择Android源码的根目录,导入即可,这里起作用的是android.irp文件。在配置sdk版本之后就可以查看Android源码了。

4.提醒一下,常用Widgets的源码在/frameworks/base/core/java/android/widget目录结构下,也可以按ctrl+N寻找源码文件。

结束

Android5.1.1源码下载完毕,也编译完毕,同时,也导入到Android Studio供我们欣赏源代码的美丽。

关于我

  • 微信公众号:Android奇想录(android_amazing)
扫描二维码关注公众号
扫描二维码关注公众号