android源码下载及soong build目录结构解析
背景图广阔无垠的自然风景&&来源: click
写在前面
在做android系统开发时,会涉及到底层 system,framework框架以及package 相关,如烧镜像版本 大小核 ,ota升级,provision,settings等内容,完成这些模块功能的时候,少不了源码编译相关的知识
本次会利用空余时间,介绍完android源码编译相关内容; 先求一波关注,未完成部份会在两周内完成。
版权声明CopyRight:
本内容作者:sunst,转载或引用请 标明出处 ,违者追究法律责任!!!
关于android源码编译相关的知识,会分为以下内容介绍,本篇介绍 AOSP(Android Open Source Project) 开放源代码下载到本地,以及对soong build系统源代码目录结构进行粗略的说明。

2.android源码编译及烧录(mac或Linux系统)。
3.android源码下编译apk和模块(含mk文件编写规则)。
很多人不知道,其实
国内
通过如下网页可以在线浏览android源码。
有了源代码以后,我们就可以对某些关键的 源代码进行分析,看看它们的实现原理 ,比如像IntentService,HandlerThread,AMS,PMS;另一方面我们还可以修改源码,编译出属于自己 定制系统 ;后面我会对这两方面内容进行整理,希望大家能点个赞关注我知乎主页啥的(滑稽笑)。
对于可以科学上网的同学
一:android 8.1.0 AOSP源码下载
这里是下载 android 8.1.0 的AOSP源代码,AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理,我们可以用repo工具下载,但是这里我用另一种方式-编写python脚本去下载android源代码,这里大家也可以关注我的人工智能专栏,虽然最近忙android,ai这块放下了,但是有时间也会继续总结学习人工智能相关的内容的。
repo呢是一种代码版本管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库
1.需要安装的文件
首先安装msysgit:
http://www.
git-scm.com/download/
安装python:
http://www.
python.org
安装git:
https://www.
git.cn
2.创建安装目录
mkdir Android
cd Android
git clone git://
http://
mirrors.ustc.edu.cn/aos
p/platform/manifest
3.android版本操作
cd manifest
git tag (列出安卓版本号)
git checkout android-5.1.1_r18 ##checkout你想下载的版本号
Tips:
checkout之后,manifest/default.xml文件中记录的就是android5.1系统各个模块的路径
4.编写python下载文件download.py
import xml.dom.minidom
import os
from subprocess import call
#downloaded source path
rootdir = "C:/sun/users/sourcecode/manifest/android-8.1.0_r1"
#git program path
git = "C:/sun/library/git/Git/bin/git.exe"
dom = xml.dom.minidom.parse("C:/sun/users/sourcecode/manifest/default.xml")
root = dom.documentElement
prefix = git + " clone https://android.googlesource.com/"
suffix = ".git"
if not os.path.exists(rootdir):
os.mkdir(rootdir)
for node in root.getElementsByTagName("project"):
os.chdir(rootdir)
d = node.getAttribute("path")
last = d.rfind("/")
if last != -1: