经本人测试有效
本文来自:http://blog.csdn.net/syhost/article/details/12035249
最近在编译泛泰A850L的android 4.3时遇到奇怪的问题,更新repo到1.20版本后再同步android 4.3源码,都同步不了,无论是AOKP,slim,PAC还是AOSP都提示同样的错误:
- Get https://github.com/AOKP/platform_manifest.git
- Traceback (most recent call last):
- File "/home/android/AOKP_4.3/.repo/repo/main.py", line 418, in <module>
- _Main(sys.argv[1:])
- File "/home/android/AOKP_4.3/.repo/repo/main.py", line 394, in _Main
- result = repo._Run(argv) or 0
- File "/home/android/AOKP_4.3/.repo/repo/main.py", line 142, in _Run
- result = cmd.Execute(copts, cargs)
- File "/home/android/AOKP_4.3/.repo/repo/subcmds/init.py", line 369, in Execute
- self._SyncManifest(opt)
- File "/home/android/AOKP_4.3/.repo/repo/subcmds/init.py", line 159, in _SyncManifest
- m._InitGitDir(mirror_git=mirrored_manifest_git)
- File "/home/android/AOKP_4.3/.repo/repo/project.py", line 1904, in _InitGitDir
- self.bare_git.init()
- File "/home/android/AOKP_4.3/.repo/repo/project.py", line 2272, in runner
- r = r.decode()
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
看样子像是系统编码的问题,想起这是新安装的ubuntu 13.04, 安装时默认语言选的都是中文,貌似以前安装时都是选的英文安装好后再选中文。
google找到一篇类似情形:
http://stackoverflow.com/questions/18049320/repo-init-unicodedecodeerror-on-ubuntu-13-04
然后开始以为是repo版本问题,照着上面文章修改repo问题依然没解决,然后仔细阅读上面帖子,找到.repo/repo/project.py 第2272行 将原来的:
r = r.decode()
改为
r = r.decode(sys.getfilesystemencoding())
然后删除.repo/manifests.git
再重新repo init,问题解决!