避免特定于设备的Android源代码取(Avoid device-specific Android

2019-10-19 07:12发布

我对Android源代码的工作。 每次我做一个repo sync我去下载特定设备的仓库,我不想因为我只会针对一台设备的负载,让我们说,HTC王牌。

有没有办法避免这样的开销?

Answer 1:

正如有人已经提出了,当地的清单可以用来修补原始舱单。 然而,清单也可以把项目分成组,你可以使用-g选项来repo init选择您要下载的项目组。

我认为,所有你不关心设备控释片已被放置在“设备”组中,所以用连字符前缀它应该完成你想要排除该组。 组的默认设置是“默认情况下,与平台的平台 ”,例如“默认情况下,平台的Linux”或“默认情况下,平台的达尔文”,虽然与平台*条目不出现匹配如何AOSP项目已标记。 无论如何,这应该摆脱不必要的项目:

repo init -u ... -g default,-device

您可以闲逛清单( .repo/manifest.xml ),以发现你不感兴趣的其他组。



Answer 2:

做事的方式AOSP可能是使用回购工具来排除或包括特定软件包。 这样做的最好的方法可能是通过添加自己的本地清单,去除你不想要的软件包。 举例来说,这里是一个示例文件:

<manifest>
  <remote name="origin"
           fetch="ssh://git@github.com/MyRepository/" />
  <remove-project name="device/lge/hammerhead"/>
  <remove-project name="device/lge/mako"/>
</manifest>

扔进removal_manifest.xml这个(你可以将其命名为任何你想要的),并把它变成内的.repo / local_manifests在你的仓库。

氰已经记录了local_manifests为我们所有,所以你可以参考回到这里工作的: 使用本地舱单



文章来源: Avoid device-specific Android source code fetching