前言
编译Android源码是为了更好的学习源码,当然,如果要做第三方ROM适配,也可以尝试;我们这篇重点学习如下内容:
- 如何在Ubuntu下编译Android5.1.1源码;
- 导入Android Studio进行源码阅读。
今天你好吗
配置编译环境
1.需要Ubuntu 64bit,建议Ubuntu14.04 64-bit;
2.安装openJDK 7:
代码语言:javascript复制$ sudo apt-get update
$ sudo apt-get install openjdk-7-jdk
3.更新jDK环境变量:
代码语言:javascript复制$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
4.为Ubuntu安装必须的packages:
代码语言:javascript复制$ sudo apt-get install bison g -multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
开始编译
1.进入源码根目录,加速下载源码的方法请移步:《国内镜像加速Android源码下载》:
代码语言:javascript复制$ cd android_source
2.初始化编译环境:
代码语言:javascript复制$ . build/envsetup.sh
3.选择编译目标,如果仅仅是为了阅读源码学习,就选择aosp_arm-eng:
代码语言:javascript复制$ lunch
4.开始编译,这里使用了4个并发数:
代码语言:javascript复制make -j4
5.漫长的等待,时间不等,根据硬件配置而定,大致需要2h~10h之间。
6.编译过程中,如果出现任何问题,直接Google就行了;我的经历是,出现错误是由于源码下载不完整,为了避免,请移步《国内镜像加速Android源码下载》。
7.编译成功后,终端会有如下提醒:
代码语言:javascript复制#### make completed successfully (08:04:50 (hh:mm:ss)) ####
导入Android Studio
1.编译完成后,在源码根目录下,执行:
代码语言:javascript复制mmm development/tools/idegen/
2.等待片刻,终端提示以下内容,说明android.iws, android.ipr, android.iml生成成功:
代码语言:javascript复制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供我们欣赏源代码的美丽。