Сборка Android/Cyanogenmod: удалить проект из roomservice.xml

Я хочу удалить проект, связанный с устройством, из файла roomservice.xml, сгенерированного путем разветвления в CM, и самостоятельно добавить другой репозиторий. Теоретически (в моем локальном манифесте, называемом mint.xml), мне просто нужно <remove-project name="Cyanogenmod/.... Но синхронизация репо говорит мне, что

Элемент remove-project указывает несуществующий проект

Это потому, что мой локальный манифест находится до roomservice.xml?

Вопрос немного связан с этим: >

Дополнительные источники: CM Wiki об удалении проектов

Знаете ли вы, как получить собственный манифест после файла roomservice.xml или как-то добиться того же?

Спасибо за любые ответы.


person ljrk    schedule 06.02.2015    source источник
comment
Насколько мне известно, простое редактирование roomservice.xml не разрешено и не рекомендуется.   -  person ljrk    schedule 07.02.2015


Ответы (1)


Как видно из файла 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.

person Magnus Bäck    schedule 08.02.2015