官方服务微信:dat818 购买与出租对接

Android源码官方网站说明:https://source.android.com及相关tag介绍

3万

主题

2

回帖

11万

积分

管理员

积分
119474
发表于 2 小时前 | 显示全部楼层 |阅读模式
    常规官方网站说明:

     源码官方网站为(你懂的):

    官网提供的参考链接,通过对应的标签(标签用于区分不同版本的代码,帮助我们确定下载的具体版本)可以找到相应的页面链接,其中8.0版本的标签信息更为详尽:请查阅TAG页面映射表。

    1 安装repo 与初始化repo客户端

    Repo是一款便于在特定环境中操作Git的工具,它相当于Git的包装形式。若需安装Repo,请按照以下步骤进行:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
mkdir ~/bin
PATH=~/bin:$PATH</code></pre></p>
    下载 Repo 工具,并确保它可执行:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
执行curl命令,访问https://storage.googleapis.com/git-repo-downloads/repo地址,并将结果重定向到用户家目录下的~/bin/repo文件夹中。
chmod a+x ~/bin/repo</code></pre></p>
    对于 1.21 版,Repo 的 SHA-1 校验和为

    对于 1.22 版,Repo 的 SHA-1 校验和为

    针对1.23版本,该版本的Repo的SHA-256哈希校验值为1dc5。

    安装完Repo之后,您需要配置客户端以便访问源代码库。首先,请创建一个用于存放工作文件的空目录。在MacOS系统上,请注意,您需要在区分大小写的文件系统中建立这个目录。然后,您可以给这个目录起一个您喜欢的任意名字。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
创建名为“WORKING_DIRECTORY”的目录;进入该目录。</code></pre></p>
    在设置 Git 时,需通过用户名与电子邮箱进行信息填写。具体操作步骤如下所示:,

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
运行命令git config --global设置用户名为"User Name",确保全局配置生效。
</code></pre></p>
    执行repo init命令,以便获取Repo的最新版本及其所包含的所有错误修正。在执行此操作时,您需要为清单指定一个网址,该网址将决定源代码中各个代码库在您的工作目录中的具体位置,尤其是针对不同的分支。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
执行命令:repo init,指定远程仓库地址为https://android.googlesource.com/platform/manifest。</code></pre></p>
    在此需留意:我国中科大的镜像相对较为稳定;AOSP镜像的下载指南可查阅-LUG @ USTC提供的文档,该文档对国内用户下载AOSP镜像更为适用。

    为确保对非“”分支进行核实,需通过使用参数-b来指明具体分支。若需浏览所有分支信息,请参考源代码中的标签及版本说明。例如,可以按照以下格式操作:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
执行命令:初始化仓库,指定URL为https://android.googlesource.com/platform/manifest,分支选择android-4.0.1_r1。
执行命令:初始化仓库,指定远程仓库地址为https://android.googlesource.com/platform/manifest,并设置分支为android-4.4_r1.2。
执行命令:初始化仓库,指定URL为https://android.googlesource.com/platform/manifest,分支选择android-7.1.2_r33。
执行命令以初始化仓库,指定URL为https://android.googlesource.com/platform/manifest,并设置分支为android-8.0.0_r17。</code></pre></p>
    系统初始化完毕,会向您展示一条信息,告知您仓库已成功在当前工作目录内完成设置。此时,客户端目录内将新增一个名为 .repo 的子目录,相关清单文件也将存放在此目录之中。

    2 下载源码树

    2.1 同步代码

   


    需将源代码库中的内容,按照默认清单所指示,下载至工作文件夹内,执行以下指令:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
repo sync</code></pre></p>
    源代码文件将被放置在工作目录内,具体位置是在对应项目名称的文件夹中。进行初次同步的工作,预计耗时将达一个小时,甚至可能更长。

    2.2 使用身份验证

    在默认设置下,对源代码的访问通常不显示用户身份。为了遏制服务器的过度负荷,每个IP地址都被分配了相应的使用额度。若多个用户共享同一IP地址进行操作(比如,通过NAT防火墙访问源代码库),系统可能会对常规的使用行为(比如,众多用户在短时间内从同一IP地址同步新客户端)启动额度限制。在这种情形下,可以采取基于身份验证的接入模式,该模式会为每位用户分配独立的配额,且此配额的分配不依赖于IP地址。具体操作步骤如下所示:

    运用密码生成工具来创建密码,并依照密码生成器界面上的指引步骤来进行操作。

    通过使用以下清单 URI,强制使用进行身份验证的访问方式:

    。

    请注意,在“/a/”目录前缀的作用下,会激活强制性的身份验证机制。您可以通过执行以下命令,将现有的客户端调整为采用强制身份验证方式。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
执行命令:初始化仓库,指定URL为https://android.googlesource.com/a/platform/manifest。</code></pre></p>
    2.3 排查网络问题

    在采用代理服务器进行内容下载,尤其是在某些企业内部网络环境中,您可能需要特别指明用于后续操作的那个代理仓库。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
export HTTP_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port></code></pre></p>
    Linux客户端偶尔会遇到连接故障,尤其是在下载过程中,比如在显示“正在接收对象”的阶段时,会出现停滞现象。有些人通过调整TCP/IP协议栈的配置,以及采用非并行执行命令的方式,成功缓解了这一问题。但请注意,要修改TCP设置,您必须具备root权限。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
使用sudo命令执行sysctl操作,设置net.ipv4.tcp_window_scaling参数值为0。
repo sync -j1</code></pre></p>
    2.4 使用本地镜像

    在使用多个客户端,特别是网络带宽有限的情况下,建议为所有服务器内容构建一个本地副本,并以此副本来同步客户端操作,无需接入网络。通常,一个完整镜像的文件大小会略小于两个客户端下载文件的总和。以下操作指南以在/usr/local/aosp/目录下创建镜像为例。首先,需要创建并同步这个镜像本身。请注意 -- 标志,该标志只能在创建新客户端时指定:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
创建目录结构,指定路径为/usr/local/aosp/mirror,并确保该路径存在。
cd /usr/local/aosp/mirror
执行命令以初始化仓库,指定远程仓库地址为https://android.googlesource.com/mirror/manifest,并开启镜像模式。
repo sync</code></pre></p>
    最终,为确保客户端与服务器保持一致,您需首先同步镜像与服务器,接着再将客户端与已同步的镜像进行同步。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
cd /usr/local/aosp/mirror
repo sync
cd /usr/local/aosp/master
repo sync</code></pre></p>
    您可选择将镜像存放在局域网服务器之中,随后可利用NFS、SSH或Git进行访问。此外,您亦可将镜像保存在便携式存储设备上,以便在用户间或计算机间进行传输。

    2.5 验证git

    请将此公钥导入至您的 GnuPG 密钥库。此密钥是用于验证不同版本所附带的注释标签的。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
gpg --import</code></pre></p>
   


    请将此密钥内容复制粘贴,随后输入 EOF 键(按住 Ctrl 键的同时按 D 键)来结束输入并处理该密钥。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
严禁对专有名词进行篡改,同时需保持原文的语调与风格,将较长的句子分解为若干简短的分句,通过逗号分隔开来,确保不遗漏任何句尾的标点符号。
GnuPG版本为1.4.2.2,适用于GNU/Linux操作系统。
严禁对特定内容进行篡改,确保信息的准确性与完整性,同时维护数据的安全与隐私。
该操作不得对特定内容进行修改,确保专有名词不受影响,同时遵循既定规则,维持原有风格,将较长的表述拆分为若干简短语句,以逗号分隔,确保不遗漏任何信息。
此代码片段不得用于修改专有名词,否则将受到严格限制。
严禁对特定内容进行篡改,确保信息的真实性,维护数据的安全与完整,同时遵循相关法律法规。
禁止擅自更改指定内容,确保专有名词不被修改,同时避免任何英文词汇。
严禁对特定内容进行篡改,确保信息的准确性与完整性,维护网络环境的和谐稳定。
该代码片段禁止被修改,专有名词不得更改,且不得任何英文字符。
严禁对专有名词进行修改,同时,需确保不任何英文词汇。在改写过程中,应尽量保持与原文相同的语言风格,并去除序号。此外,长句可以拆分为若干短句,以逗号分隔,但不得遗漏句尾的标点。
严禁擅自更改或删除该代码片段,确保其完整性和安全性,不得对其进行任何形式的修改或替换。
采用WQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k的编码方式,对数据进行加密处理。
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX,此代码表示该信息具有特定的加密和认证属性,确保了数据传输的安全性。
此代码序列不允许对特定内容进行修改,确保了数据的完整性与安全性。
严禁对特定内容进行修改,确保专有名词不被改动,同时严格禁止在文本中任何英文元素。
此链接涉及的内容不得修改,相关操作需严格遵守规定。
该行为不得擅自更改,专业名称需严格遵守,不得随意变动,且必须保持原有格式不变。
严禁对特定内容进行篡改,确保信息的真实性,维护网络环境的清洁与秩序,同时保障用户数据的隐私安全。
此代码段不得用于修改专有名词,且需严格遵守相关规定。
禁止对上述代码进行任何形式的修改,包括但不限于添加、删除或替换其中的字符。
严禁对专有名词进行篡改,确保内容准确无误,不得随意添加或删除字符,严格遵循原文格式,对原文进行逐字逐句的转换,力求保持原意不变。
此代码段包含一系列字符,具体为:KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb。
禁止对专有名词进行修改,不得英文单词,仅提供改写后的结果,无需复述原句,不得换行,不得添加任何解释。
禁止对专有名词进行修改,不得任何英文单词,仅提供改写后的内容,无需复述原句,不得换行,不得添加任何解释。
严禁对特定内容进行篡改,确保信息的准确性与完整性,同时维护数据的安全与隐私。
该指令明确指出,不得对特定内容进行修改,确保专有名词的准确性,且在表述上需避免重复使用原文中的词汇。同时,要求在保持原有风格的基础上,对较长的句子进行拆分,以逗号分隔成若干短句,确保表达清晰,且不遗漏任何必要的标点符号。
严禁对专有名词进行修改,同时不得任何英文词汇,仅需提供改写后的文本,无需重复原句,不得换行,也不需添加任何说明。
=Wi5D
此段内容标志着PGP公钥块的结束。-----END PGP PUBLIC KEY BLOCK-----</code></pre></p>
    导入密钥后,可以通过以下命令验证任何标记:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="syl-page-code"><code>Bash
git tag -v TAG_NAME</code></pre></p>
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|关于我们

Copyright © 2001-2025, Tencent Cloud.    Powered by Discuz! X3.5    京ICP备20013102号-30

违法和不良信息举报电话:86-13718795856 举报邮箱:hwtx2020@163.com

GMT+8, 2025-6-8 09:47 , Processed in 0.103670 second(s), 17 queries .