Android/Cyanogenmod 建筑:从 roomservice.xml 移除项目

Android/Cyanogenmod building: remove-project from roomservice.xml

我想从 CM 中的分支生成的 roomservice.xml 中删除一个与设备相关的项目,然后自己添加一个不同的 repo。 理论上(在我的本地清单中,称为 mint.xml),我应该只需要 <remove-project name="Cyanogenmod/...。 但是回购同步告诉我

remove-project element specifies non-existant project

是否因为我的本地清单是在 roomservice.xml之前获取的?

这个问题有点相关: trouble-with-cyanogenmod-local-manifest

其他来源: CM Wiki about removing projects

您知道如何在 roomservice.xml 之后获取自己的清单 或以某种方式实现相同的吗?

感谢您的回答。

如 Repo 的 manifest_xml.py、

所示
LOCAL_MANIFESTS_DIR_NAME = 'local_manifests'
...
class XmlManifest(object):
  ...
  def _Load(self):
      ...
      local_dir = os.path.abspath(os.path.join(self.repodir, LOCAL_MANIFESTS_DIR_NAME))
      try:
        for local_file in sorted(os.listdir(local_dir)):
          if local_file.endswith('.xml'):
            local = os.path.join(local_dir, local_file)
            nodes.append(self._ParseManifestXml(local, self.repodir))
      except OSError:
        pass

本地清单文件按字母顺序读取。因此,您的文件 mint.xml 在 roomservice.xml 之前加载,因此当您尝试删除在 roomservice.xml 中定义的项目时,它实际上并不存在。将您的文件重命名为在 roomservice.xml.

之后排序的名称