编译Android5.1.1源码

前言

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

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

今天你好吗

配置编译环境

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

2.安装openJDK 7:

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

3.更新jDK环境变量:

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

4.为Ubuntu安装必须的packages:

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

开始编译

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

$ cd android_source

2.初始化编译环境:

$ . build/envsetup.sh

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

$ lunch

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

make -j4

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

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

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

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

导入Android Studio

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

mmm development/tools/idegen/

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

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供我们欣赏源代码的美丽。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android小菜鸡

Android知识点基础篇(一)

1. Application的生命周期   Application和Activity,Service一样,是Android框架的一个系统组件,当Androi...

14640
来自专栏Android知识点总结

Flutter第5天--布局实例+操作交互

92230
来自专栏刘望舒

网易考拉Android统一弹框

在快速开发的背景下,经历了n个版本后的考拉Android App中已经存在了各种各样看似相同却各有差别的弹框样式。其中包括系统弹框和自定义弹框,并且在线上时常会...

36930
来自专栏有困难要上,没有困难创造困难也要上!

Android Studio启动时报错 Emulator: emulator: ERROR: OpenGLES emulation failed to initialize.

问题原因是我使用了 Nexus 5X and Nexus 5 模拟器,而这两个镜像会强制设置 “Emulated Performance” 为 “Automat...

42510
来自专栏即时通讯技术

干货分享:十年大厂资深程序员的开发经验总结1、引言2、关于作者3、对于开发团队而言,流程太重要了4、不要炫技,老老实实写代码5、架构上要遵循:实用+适用的原则6、既要有攻城之力,也要有改Bug的熬战之

本文由腾讯云加社区整理和发布,原文链接:cloud.tencent.com/developer/article/1004735,内容有删减和改动。

11410
来自专栏有困难要上,没有困难创造困难也要上!

Android Studio启动时报错 Emulator: qemu-system-x86_64: failed to initialize KVM: Device or resource busy

35210
来自专栏Android知识点总结

建站四部曲之移动端篇(Android+上线)

有关材料设计,我写过一个系列:详见--Android材料设计Material Design 开篇前言

13630
来自专栏Android干货

浅谈AndroidGPU过度绘制、GPU呈现模式分析及相关优化

在真机设备下有一个开发者选项,这个大家都知道,我们最常用的就打开'USB调试'功能,方便真机调试。

27320
来自专栏刘望舒

一起玩转Android项目中的字节码(Transform篇)

作为Android开发,日常写Java代码之余,是否想过,玩玩class文件?直接对class文件的字节码下手,我们可以做很多好玩的事情,比如:

72840
来自专栏有困难要上,没有困难创造困难也要上!

Android Studio启动时报错 “ Plugin "XXX" was not loaded: required plugin "Android Support" is disabled.”

打开 File -> Settings -> Plugins,把红色的插件取消然后重新勾选,然后保存,再重新启 Android Studio 就可以了。

33010

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励