我想从 CM 中的 brunching 生成的 roomservice.xml 中删除与设备相关的项目,并自己添加一个不同的存储库。
理论上(在我的 localmanifest 中,称为 mint.xml),我应该只需要
<remove-project name="Cyanogenmod/...
。
但 repo 同步告诉我这一点
remove-project element specifies non-existant project
这是因为我的本地 list 在 roomservice.xml 之前获取吗?
这个问题与这个有点相关: trouble-with-cyanogenmod-local-manifest
其他来源: CM Wiki about removing projects
您知道如何在 roomservice.xml 之后获取自己的 list 或以某种方式实现相同的目的吗?
感谢您的回答。
最佳答案
如 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
本地 list 文件按字母顺序读取。因此,您的文件 mint.xml 在 roomservice.xml 之前加载,因此当您尝试删除 roomservice.xml 中定义的项目时,它实际上并不存在。将您的文件重命名为在 roomservice.xml 之后排序的名称。
关于Android/Cyanogenmod 构建 : remove-project from roomservice. xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28374949/