Ich versuche, repo
die Android-Quelle herunterzuladen gemäßAnweisungen von Google. Ich habe den Repo-Client heruntergeladen und initialisiert und versuche nun, den Arbeitsbaum zu aktualisieren. Nach dem Ausführen repo sync --force-broken
scheinen alle Projekte korrekt abgerufen zu sein, da die Konsolenausgabe lautet: Fetching projects: 100% (733/733), done.
Unmittelbar nach dem Drucken dieser Meldung scheint Repo jedoch den Arbeitsbaum nicht synchronisieren zu können, und zeigt den folgenden Fehler an:
Syncing work tree: 0% (2/733) (NOTE: newline inserted here for readability)
error: unable to create file pathtools/testdata/escapes/*: Invalid argument
fatal: cannot create directory at 'pathtools/testdata/escapes/**': Invalid argument
Traceback (most recent call last):
File "D:\2019 Work\androidsrc\.repo\repo/main.py", line 547, in <module>
_Main(sys.argv[1:])
File "D:\2019 Work\androidsrc\.repo\repo/main.py", line 522, in _Main
result = repo._Run(argv) or 0
File "D:\2019 Work\androidsrc\.repo\repo/main.py", line 184, in _Run
result = cmd.Execute(copts, cargs)
File "D:\2019 Work\androidsrc\.repo\repo\subcmds\sync.py", line 855, in Execute
project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
File "D:\2019 Work\androidsrc\.repo\repo\project.py", line 1380, in Sync_LocalHalf
self._InitWorkTree(force_sync=force_sync, submodules=submodules)
File "D:\2019 Work\androidsrc\.repo\repo\project.py", line 2594, in _InitWorkTree
raise GitError("cannot initialize work tree for " + self.name)
error.GitError: cannot initialize work tree for platform/build/blueprint
repo --version
ergibt:
repo version v1.13.3
(from https://gerrit.googlesource.com/git-repo)
repo launcher version 1.25
(from C:\Program Files\Git\usr\bin\repo)
git version 2.22.0.windows.1
Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)]
Antwort1
Wechseln Sie in das Verzeichnis <build-root> (also in das Verzeichnis, in dem sich bionic/, development/, device/ usw. befinden) und versuchen Sie:
repo sync --force-sync build/blueprint
Wenn in mehreren Verzeichnissen dieselben Probleme auftreten, versuchen Sie:
for subprj in $(repo status | grep ^project | cut -d ' ' -f2);
do
repo sync --force-sync $subprj;
done