1.repo的获得:
curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
具体见
http://www.cnblogs.com/miaoshuncai/articles/2179746.html
2.repo sycn的错误解决:
文件管理器->查看->显示隐藏文件后
<Work Folder>/.repo/manifests/defalt.xml
其中有一块显示
<remote name="github"
fetch=".."
review="review.cyanogenmod.com" />
改为
<remote name="github"
fetch="https://github.com/"
review="review.cyanogenmod.com" />
之后执行repo sync -j16即可取得
3.源码相当大,需要腾出足够的硬盘空间(40G)
4.会有一个大小为1.98G的文件被下载并解压,内存过小会报fatal : malloc, out of memory(推荐1G以上内存)
5.repo是可以断点续传的
6.直接repo sync下来的代码无法编译,须删除<work folder>/vendor/cyanogen/products/AndroidProducts.mk里除如下内容外的所有内容
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/cyanogen_generic.mk
7.如果删除了default.xml中的某些project的话,再做sync会把那些project从硬盘上删去,要注意
8.错误处理:
8.1 fatal: Not a git repository
进入<work folder>/.repo/projects,删除对应项目的文件夹后重新sync
8.2 repo sync again error: .repo/manifests/: contains uncommitted changes
在<work folder>/.repo/manifest/下执行 git stash
8.3 error.GitError: cannot initialize work tree
在<work folder>/.repo/manifest/下执行git reset --hard
8.4 fatal : malloc, out of memory
增加虚拟机内存