同步源碼,問題重現:
1 Fetching project platform/external/libopus 2 Fetching project repo 3 error: Cannot fetch repo (TypeError: expected string or buffer) 4 Fetching project CyanogenMod/android_external_tinycompress 5 Exception in thread Thread-230: 6 Traceback (most recent call last): 7 File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner 8 self.run() 9 File "/usr/lib/python2.7/threading.py", line 754, in run 10 self.__target(*self.__args, **self.__kwargs) 11 File "/home/dinphy/sm/.repo/repo/subcmds/sync.py", line 270, in _FetchProjectList 12 success = self._FetchHelper(opt, project, *args, **kwargs) 13 File "/home/dinphy/sm/.repo/repo/subcmds/sync.py", line 314, in _FetchHelper 14 prune=opt.prune) 15 File "/home/dinphy/sm/.repo/repo/project.py", line 1267, in Sync_NetworkHalf 16 no_tags=no_tags, prune=prune)): 17 File "/home/dinphy/sm/.repo/repo/project.py", line 1933, in _RemoteFetch 18 if remote.PreConnectFetch(): 19 File "/home/dinphy/sm/.repo/repo/git_config.py", line 605, in PreConnectFetch 20 return _preconnect(connectionUrl) 21 File "/home/dinphy/sm/.repo/repo/git_config.py", line 549, in _preconnect 22 m = URI_ALL.match(url) 23 TypeError: expected string or buffer
分析問題,尋找方案:
1、問題所在:主要是repo的問題,只需要重新下載repo即可。
2、下載repo需要IP代理,http://www.cnblogs.com/dinphy/p/5619854.html
3、終端輸入命令重新下載repo並初始化:
#新建bin目錄 mkdir ~/bin #指定路徑 PATH=~/bin:$PATH #下載repo,並移動到bin目錄下 curl https://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo #給repo賦予讀寫權限 chmod a+x ~/bin/repo
4、回到項目的目錄,重新初始化源碼,然后repo sync
5、OK,完美結束。