Android aosp源码阅读
前言
最近因为找工作,需要频繁查阅Android源码。因此,打算在本地硬盘上下载Android源码,通过Android Studio来阅读。
- Android 源码构建:https://source.android.com/setup【建议直接阅读该文档】
- Android - AOSP源码编译和调试
操作流程
配置硬盘
由于我使用的是MacOS,所以仅提供MacOS的配置流程。
- 打开Disk Utility
- File -> New Image -> Blank Image
- 按照下图配置一块200G,区分大小写的磁盘分区。
- 一定要区分大小写,否则下载源码后,占用空间极大。
- 区分大小写后,Android 12的源码大小为139GB;不区分大小写,占用空间超过700GB。
下载源码
下载Android系统源代码:建议按照清华大学开源软件镜像站文档下载源码。
- 如果需要下载指定版本的源码,tag可见:源代码标记和 build
- 清华大学开源软件镜像站:Android 镜像使用帮助
- LUG @ USTC:AOSP(Android) 镜像使用帮助
生成
- 初始化环境变量:
source build/envsetup.sh
- 编译,生成idegen.jar:
mmm development/tools/idegen/
- 生成android.iws、android.ipr、android.iml:
sh ./development/tools/idegen/idegen.sh
排除部分模块
打开android.iml,提前添加如下内容,提高加载Android源码工程的速度。
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder url="file://$MODULE_DIR$/abi" />
<excludeFolder url="file://$MODULE_DIR$/art" />
<excludeFolder url="file://$MODULE_DIR$/bionic" />
<excludeFolder url="file://$MODULE_DIR$/bootable" />
<excludeFolder url="file://$MODULE_DIR$/build" />
<excludeFolder url="file://$MODULE_DIR$/cts" />
<excludeFolder url="file://$MODULE_DIR$/dalvik" />
<excludeFolder url="file://$MODULE_DIR$/developers" />
<excludeFolder url="file://$MODULE_DIR$/development" />
<excludeFolder url="file://$MODULE_DIR$/device" />
<excludeFolder url="file://$MODULE_DIR$/docs" />
<excludeFolder url="file://$MODULE_DIR$/external" />
<excludeFolder url="file://$MODULE_DIR$/external/bluetooth" />
<excludeFolder url="file://$MODULE_DIR$/external/chromium" />
<excludeFolder url="file://$MODULE_DIR$/external/emma" />
<excludeFolder url="file://$MODULE_DIR$/external/icu4c" />
<excludeFolder url="file://$MODULE_DIR$/external/jdiff" />
<excludeFolder url="file://$MODULE_DIR$/external/webkit" />
<excludeFolder url="file://$MODULE_DIR$/frameworks/base/docs" />
<excludeFolder url="file://$MODULE_DIR$/hardware" />
<excludeFolder url="file://$MODULE_DIR$/libcore" />
<excludeFolder url="file://$MODULE_DIR$/libnativehelper" />
<excludeFolder url="file://$MODULE_DIR$/ndk" />
<excludeFolder url="file://$MODULE_DIR$/out" />
<excludeFolder url="file://$MODULE_DIR$/out/eclipse" />
<excludeFolder url="file://$MODULE_DIR$/out/host" />
<excludeFolder url="file://$MODULE_DIR$/out/target/common/docs" />
<excludeFolder url="file://$MODULE_DIR$/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates" />
<excludeFolder url="file://$MODULE_DIR$/out/target/product" />
<excludeFolder url="file://$MODULE_DIR$/packages" />
<excludeFolder url="file://$MODULE_DIR$/pdk" />
<excludeFolder url="file://$MODULE_DIR$/prebuilt" />
<excludeFolder url="file://$MODULE_DIR$/prebuilts" />
<excludeFolder url="file://$MODULE_DIR$/sdk" />
<excludeFolder url="file://$MODULE_DIR$/system" />
<excludeFolder url="file://$MODULE_DIR$/tools" />
附录
- Mac 中下载阅读 Android 源码
- Android Studio导入系统源码及配置
国内源
- 清华大学开源软件镜像站
调试Framework
- 五、调试 Android Framework
Android aosp源码阅读相关推荐
- Android Framework源码阅读计划(2)——LocationManagerService.java
Android Framework源码阅读计划 Android Framework源码阅读计划(1)--LocationManager.java Android Framework源码阅读计划(2)- ...
- Android AOSP 源码 编译 android5.1.1,并刷入手机
必备: linux(本次使用centos7) aosp(android5.1.1) 二进制驱动(官网下载) 设备:nexus5 LMY48M openjdk 1.7.x centos和ubuntu基本 ...
- Android Pie源码阅读 -----深入理解init(一)
在阅读源码之前,我们应要熟悉整个Android的系统架构,在针对某一层进行深入理解,否则东看西看没有方向没有目标会导致思绪紊乱,这样读源码的效果不佳 这篇文章主要参考gityuan阅读Android ...
- android sensor源码,阅读android有关sensor的源码总结 - JerryMo06的专栏 - CSDN博客
虽然这篇文章写得很差,因为赶时间,所以就匆匆忙忙地写出来自己作一个笔记.但是我想对大家应该有一点帮助. 1.有关sensor在Java应用程序的编程(以注册多个传感器为例,这程序是我临时弄出来的,可能 ...
- Android Linkage-RecyclerView源码阅读
当前版本 1.9.2 项目地址 概述 自定义LinkageRecyclerView控件,该控件布局中含有两个RecyclerView控件,左边为主Rv,右边为次Rv. 次Rv顶部有一个悬挂头View, ...
- ubuntu-18.04.4 Android系统源码TP1A(Android 13)下载及编译
继上一篇博客介绍了VMware Workstation15 配置ubuntu-18.04.4,这篇主要介绍安装后环境搭建,Android源码的下载与编译.小编当前下载的是当前最新的代码,是主干分支代码 ...
- Mac下编译Android源码,并导入IntelliJ IDEA进行源码阅读
macOS High Sierra 版本 10.13.4 Xcode 9.3 aosp分支:android-8.1.0_r20 准备编译环境 具体参考官方文档 安装 jdk8u45 or newer ...
- Android系统源码在线阅读(Android4.4~Android13.0)
原文链接 Android系统源码在线阅读(Android4~Android13) Android系统源码下载.编译.刷机 玩转Android10(二)刷机操作 Android系统镜像刷机方法(一) ...
- 大牛们是怎么阅读 Android 系统源码的?
转载自https://www.zhihu.com/question/19759722 作者:王宇龙 链接:https://www.zhihu.com/question/19759722/answer/ ...
最新文章
- ​5G行业应用成熟度洞察,哪些场景将率先起飞?|新基建技术洞察之
- mysql题目_MySQL练习题
- mysql_real_escape_string 报错_addslashes与mysql_real_escape_string的区别
- 安卓逆向_15( 二 ) --- Android Studio 3.6.3 JNI 环境配置 和 so 生成开发 demo
- debugging Auto Layout:Logical Errors
- 简历避免采坑总结——为什么你的简历杳无音信?程序员的简历该怎么写?看这一篇就够了!毕业生快进 (待更新)
- jquery学习系列8(过滤选择器)
- DeepMind 用 GAN 虚构视频真假难辨【智能行业热点】(2019.7.22)
- 开源DataGridView扩展(6) 简单实现checkbox行选级联。
- 贴片二极管正负极如何区分
- 高职高专院校人才培养工作水平评估工作感想
- did拼接屏最小拼缝0.88mm
- 微带线和带状线的SIEMC分析以及对DDR等长设置的影响
- 校验国内外的座机和手机号码
- 游戏开发中字典数据的优化方案 golang版本
- 12306 java程序_基于java httpclient的12306 买票软件
- python-regex-thread-localhost
- 踩坑:重写了alert方法,在点击事件中调用苹果手机不兼容
- 微信链接防拦截跳转系统 微信域名防屏蔽技术
- Android4.4之后SD卡存储方案