最近折腾了一阵android源码下载的问题,在网上找了一些教程照着做,出现了各种问题,归根结底就是因为一些网址被墙了,但是很多教程又没有更新,所以出现了下载中出现的各种问题。强烈建议去
http://source.android.com/source/downloading.html#initializing-a-repo-client
参考google给出的教程,我最后就是照着这个做下载成功的,中间的过程我就不多叙述了。
同时,建议大家去
https://android.googlesource.com/new-password
用自己的google账户登录,最终会得到一个格式如:
machine android.googlesource.com login git-.gmail.com password
machine android-review.googlesource.com login git-.gmail.com password
的字符串,然后创建”.netrc“文件(在”~“目录下),将你得到的上面格式的字符串拷贝到这个文件中。这样做利于提高你的下载成功率,因为这样你的IP就和你的google账户绑定了。
最后列举几个在下载过程中常见的几个问题:
1.repo init过程中出现:
/home/administrator/bin/repo: line 1: 在未预料的“newline”附近出现语法错误
/home/administrator/bin/repo: line 1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
这个问题一般是你的repo不够新导致的,建议去google那个网站上按照他的要求去下载最新的repo
2.repo init过程中出现:
gpg: 无法检查签名:找不到公钥
error: could not verify the tag 'v1.12.7'
这个你需要删除文件夹“~/.repoconfig”即可。
3.repo init过程中出现:
Traceback (most recent call last):
File "/home/zbingwen/桌面/android/.repo/repo/main.py", line 238, in <module>
_Main(sys.argv[1:])
File "/home/zbingwen/桌面/android/.repo/repo/main.py", line 220, in _Main
repo._Run(argv)
File "/home/zbingwen/桌面/android/.repo/repo/main.py", line 125, in _Run
cmd.Execute(copts, cargs)
File "/home/zbingwen/桌面/android/.repo/repo/subcmds/init.py", line 231, in Execute
self._SyncManifest(opt)
File "/home/zbingwen/桌面/android/.repo/repo/subcmds/init.py", line 119, in _SyncManifest
m.PreSync()
File "/home/zbingwen/桌面/android/.repo/repo/project.py", line 1874, in PreSync
cb = self.CurrentBranch
File "/home/zbingwen/桌面/android/.repo/repo/project.py", line 536, in CurrentBranch
b = self.work_git.GetHead()
....
你在当前文件夹下“ls -a”会看到一个“.repo”的文件夹,删除它,同时保证你的repo所在的文件夹路径中不存在中文,比如上面出错的路进中有“桌面”,往往会造成出错。
这是我目前所遇到的几个问题,总结两点很关键:
1.保证repo最新。
2.路进中尽量不出现中文。
希望能够帮助到大家。