Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android source 使用谷歌&x27;s回购工具_Android Source_Repo - Fatal编程技术网

Android source 使用谷歌&x27;s回购工具

Android source 使用谷歌&x27;s回购工具,android-source,repo,Android Source,Repo,简单问题:如何在linux mint上使用repo工具下载android操作系统源代码8.0.0版 详细说明: 我想下载android源代码。编辑部分代码,然后将其安装到设备上。我安装了linux操作系统,并下载/初始化了repo。然而,就我个人而言,我无法理解如何使用回购 我使用操作系统标签:OPR4.170623.009。这是安卓-8.0.0R16奥利奥 这是以下命令: repo sync [OPR4.170623.009] 我得到这个结果 ... A new version of rep

简单问题:如何在linux mint上使用repo工具下载android操作系统源代码8.0.0版

详细说明:

我想下载android源代码。编辑部分代码,然后将其安装到设备上。我安装了linux操作系统,并下载/初始化了repo。然而,就我个人而言,我无法理解如何使用回购

我使用操作系统标签:OPR4.170623.009。这是安卓-8.0.0R16奥利奥

这是以下命令:

repo sync [OPR4.170623.009]
我得到这个结果

... A new version of repo (2.12) is available.
... You should upgrade soon:
    cp /home/k/.repo/repo/repo /home/k/bin/repo

error: project [OPR4.170623.009] not found
我甚至试过

repo sync [<OPR4.170623.009>]
这是非常奇怪的,因为“下载源代码”页面并没有真正说明如何下载源代码。(). 这让我觉得我应该使用sync和“源代码标签”。但是,它没有说明如何将这两者结合起来:

在这里:


它显示了一些示例,但看起来与它们的标签完全不同。

您要下载的版本必须为
repo init
指定,而不是为
repo sync
指定。此外,版本是使用标记指定的,而不是使用构建ID(列表中的第二列)

因此,您必须采取以下步骤:

  • 使用所需的build标记初始化repo(例如
    android-8.0.0r16
    ):

  • 同步回购协议:

    repo sync --jobs=32 --current-branch --no-tags --quiet
    
    传递给
    repo sync
    的附加标志不是必需的,但可能会有帮助:标志
    --jobs=32
    将尝试并行下载32次(根据您的网络带宽进行调整)。标志
    --当前分支
    将仅下载您在
    repo init
    期间指定的分支。标志
    --no tags
    将禁用标签数据的下载。使用标志
    --quiet
    时,仅显示整体下载进度


一些一般注意事项:您表示要将图像闪存到设备。请注意,您的设备可能需要在映像中包含特定于设备的驱动程序。这些驱动程序通常不是AOSP的一部分。此外,您的设备可能有一个锁定的引导加载程序,不允许闪烁自定义图像。我无法提供更多详细信息,因为我不知道您的目标设备。

不幸的是,我不熟悉三星设备,因此这将是一个单独的问题,其他人可以回答。三星可能会提供一种下载这些驱动程序的方法,但也完全有可能它们是私有的。理论上,是的,只可能更换单个组件(对于某些组件,这将比其他组件更容易)。这假设您有一个根设备,允许这种写访问(我的说明中的第二点)。一般来说,设备供应商有兴趣不向您提供此类写访问权限,因为这将允许您修改和转售他们的设备,这可能会损害他们的声誉。要以“官方”方式获得根设备,您必须是可以与设备供应商协商某些合同的企业的一部分,这通常涉及到转售大量设备的能力。以“非官方”的方式获取根设备通常涉及一些可以绕过设备安全机制的工具。你可能会找到一些关于如何根设备的指南,但我不能给你任何建议(因为我不熟悉三星设备,也因为我无法判断这些工具的可靠性)。关于二进制文件的提取:理论上,是的,驱动程序存储在内存中,你可以提取它们。虽然这需要知道去哪里看,但我不能帮你,因为我不知道三星在哪里存储驱动程序的细节。分区布局可能有一个引导分区(保存内核,可能包含三星特定的驱动程序)和一个系统分区(保存大部分编译的AOSP代码),一个保存供应商特定文件的供应商分区,可能包含其他驱动程序,一个用户数据分区,可能还有其他分区。谷歌正在敦促设备供应商尽量减少他们对系统分区(称为Project Treble)的定制量。如果三星完全遵循这一指导原则,那么系统分区将不包含任何三星驱动程序,您只需闪存您的自定义系统分区,在这种情况下,您就不必麻烦使用特定于设备的驱动程序。我的猜测是,三星没有完全遵循这一准则,在系统分区上有一些定制,但我不知道扩展到什么程度。在这种情况下,刷新自己的系统分区可能有效,也可能无效。
repo sync [project0 project1 ... projectn]
repo sync [/path/to/project0 ... /path/to/projectn]
repo init -u https://android.googlesource.com/platform/manifest -b android-8.0.0_r16
repo sync --jobs=32 --current-branch --no-tags --quiet