cm瞎折腾(一)

来源:互联网 发布:c 面向对象的编程 编辑:程序博客网 时间:2024/05/01 23:45

update:6.28  增加如何选择代理


瞎折腾(1)

配置环境

(参考http://source.android.com/source/initializing.html)(http://bbs.mfunz.com/thread-653126-1-1.html)

官方建议64位操作系统注意:cm对java版本要求是6 或 7,并且是sun-java,不是openjdk;

安装其它

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \  libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \  python-markdown libxml2-utils xsltproc zlib1g-dev:i386$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

下载源代码

(参考http://source.android.com/source/downloading.html)

安装repo

$ mkdir ~/bin$ PATH=~/bin:$PATH$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo$ chmod a+x ~/bin/repo

(For version 1.21, the SHA-1 checksum for repo is b8bd1804f432ecf1bab730949c82b93b0fc5fede)

配置repo

由于google对每个匿名的ip的连接数进行了限制,所以我们需要配置自己的账号https://android.googlesource.com/new-password点击上面的网址,用自己的google账号登录,会生成一个密码

machine android.googlesource.com login ××××××××××××××× password ×××××××××××××××××machine android-review.googlesource.com login ××××××××××××××× password ×××××××××××××××××

将生成的这两行信息写入 ~/.netrc 文件中保存

初始化repo

(参考https://github.com/cyanogenmod/android)

repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0

同步源码

然后将.repo/manifest.xml文件和.repo/manifest/default.xml文件里的android.googlesource.com改成android.googlesource.com/a

repo sync -j16

同步过程中可能会出现一些问题,所以采用一个脚步,在同步失败后自动重新同步

#!/bin/bashecho "======start repo sync======"repo syncwhile [ $? == 1 ]; doecho "======sync failed, re-sync again======"sleep 3repo syncdone

由于一些原因,google的网站总是无法访问,这时候我们需要通过代理来下载代码

http://www.youdaili.cn/这个网站可以提供一些免费的代理,不是所有的都能用,需要自己一个个试

可以使用花刺代理对所有代理进行验证,并且选择出最快的代理(花刺代理的使用方法网上一大堆)

找到能用的代理 假设 1.1.1.1:111

$ export HTTP_PROXY=http://1.1.1.1:111$ export HTTPS_PROXY=http://1.1.1.1:111

然后重新下载即可

0 0