我想从通过CM中的brunching生成的roomservice.xml中删除与设备相关的项目,并自己添加一个不同的repo。
理论上(在我的localmanifest,名为mint.xml),我应该只需要
<remove-project name="Cyanogenmod/...
。
但是repo sync告诉我
remove-project元素指定不存在的项目
这是因为我的本地清单在 roomservice.xml之前来源吗?
这个问题与这个有点相关: trouble-with-cyanogenmod-local-manifest
其他来源: CM Wiki about removing projects
您是否知道如何在 roomservice.xml之后获取自己的清单或以某种方式实现相同的目标?
感谢您的回答。
答案 0 :(得分:3)
如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之后排序的内容。