admin管理员组文章数量:1614268
Android 是一个适用于移动设备的开源操作系统以及由 Google 主导的相关开源项目。此网站和 Android 开源项目 (AOSP) 代码库可为您提供所需信息和源代码,供您创建定制的 Android 操作系统版本,将设备和配件移植到 Android 平台,同时确保您的设备符合兼容性要求,从而让 Android 生态系统维持良好稳健的运行环境,以便更好地服务于数百万用户。
作为一个开源项目,Android 的目标是避免出现任何集中瓶颈(即没有任何行业参与者可一手限制或控制其他任何参与者的创新)。为此,Android 被打造成了一个适用于消费类产品的完整高品质操作系统,并配有可定制源代码,该代码可移植到几乎所有设备以及所有用户均可使用的公开文档中(英文网址:source.android;简体中文网址:source.android.google)。
在公开文档中有关于源码的下载方法: https://source.android.google/setup/downloading
敲黑板内容:
你可以按照公开文档的下载方法下载源码,但是环境需要在linux下,那么windows如何下载呢,这里提供两种方案,中心思想是一样的。
一、模拟Linux环境:
1.下载 Cygwin安装windows下的Linux模拟环境,用谷歌的Repo,repo 是一款工具。,然后就是一路的下一步(注意:如果第一次安装,你需要选install from internet,然后就是选安装位置,还有临时文件的位置和连接网络的设置,这些都默认就可以.关键的一步是选择要安装的库和程序,以下这几个是要安装的:
Net -> curl
Devel -> git,git-completion,git-gui,gitk
Libs -> libreadline6,libiconv2
Editors -> vim
Python -> python
如果不好找,你可以在上面的Search上搜索.
2.下载Repo
启动Cygwin,然后cd /bin,切到bin目录执行
curl https://storage.googleapis/git-repo-downloads/repo > ~/bin/repo
下载repo到bin目录.然后执行
chmod a+x repo
赋予它可执行的权限.
初始化仓库:
repo init -u https://aosp.tuna.tsinghua.edu/platform/manifest
如果需要某个特定的 Android 版本:
repo init -u https://aosp.tuna.tsinghua.edu/platform/manifest -b android-4.0.1_r1
同步源码树(以后只需执行这条命令来同步):
repo sync
二、自制脚本下载:
下载git,安装 官方下载:https://git-scm/downloads/,
下载python,安装 官方网址:http://www.python
打开Git Bash,执行命令,我是放在c盘的,路径可自定义git clone https://aosp.tuna.tsinghua.edu/platform/manifest.git
输入命令,切换到manifest目录cd manifest
Git tag 列出android各个分支版本
下载android-cts-4.0_r1系统源码,输入下面命令,如果要下载其他版本源码,checkout git tag列出的版本号即可
git checkout android-cts-4.0_r1
checkout之后,manifest/default.xml文件中记录的就是android-cts-4.0_r1系统各个模块的路径,
下面就轮到python出场了,实现源码的批量下载
执行此脚本的前提是已经执行了git checkout,选择好了要下载的Android源码版本,按照以下源码请自行修改脚本。
import xml.dom.minidom
import os
from subprocess import call
#downloaded source path
rootdir = "你的下载源码路径"
#git program path
git = "你的git路径/git.exe"
dom = xml.dom.minidom.parse("你的defalut路径/manifest/default.xml")
root = dom.documentElement
prefix = git + " clone https://aosp.tuna.tsinghua.edu/"
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:
d = rootdir + "/" + d[:last]
if not os.path.exists(d):
os.makedirs(d)
os.chdir(d)
cmd = prefix + node.getAttribute("name") + suffix
call(cmd)
执行这个脚本之后将会自动下载源码
版权声明:本文标题:一、如何下载安卓系统源码 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1728670541a1169089.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论