下载代码需要保证盘空间超过100G, 试验中100G的安装空间都不够用,下载过程 中老提示分配不到需要的 memory。 主要是repo下载时把高通的很多分支持都拉下来,最后切出来的代码到时很小。 代码下完后可以删掉.repo,节省空间。当前分配置了200G空间,也可通过虚拟机扩展盘增加容量(网上有方案)。
下载完成后的大小如下,可以看到代码加samba,repo,git等共占了63G, 当时盘的空间给了100G,不清楚当时为什么显示内存不够,总之如果空间够,多给一些盘空间不会是坏事。

@ubuntu:~$ df -hl
Filesystem      Size  Used Avail Use% Mounted on
udev            481M     0  481M   0% /dev
tmpfs           100M  6.7M   94M   7% /run
/dev/sda1       196G   63G  124G  34% /
tmpfs           500M  212K  499M   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           500M     0  500M   0% /sys/fs/cgroup
tmpfs           100M   56K  100M   1% /run/user/1000

1、下载git ,curl, 可以到网上查相关安装说明,以下是经达验证可以用的。

sudo apt-get install curl
sudo apt-get install git 

2、下载repo 到bin目录中,并将repo 权限改成777,一些地方下的repo,可能会在下高通代码时出如下错误

object 666d534636d262cbfd971509dd0f0be0cddb2e11
type commit
tag v1.12.16
tagger Conley Owens <cco3@android.com> 1398976458 -0700

repo 1.12.16

gpg: Signature made Thu 01 May 2014 01:34:18 PM PDT using RSA key ID 692B382C
gpg: Can't check signature: public key not found
error: could not verify the tag 'v1.12.16'

这时删掉repo ,从下面地方找到正确的版本重新下载,以下是经过验证的,可以从网上查其他同仁对repo 的说明

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

3、 也可以一劳永逸将repo 路径加入到环境变量

@ubuntu:~$ sudo gedit .bashrc 

在文件最后加入下面的配置后保存退出

export PATH=~/bin:$PATH

加入到环境变量的事情,我这边不知道到为什么没有成功,但是查看$PATH, 是能查到repo 的目录,但是运行时就是不行,后来就直接用目录指定repo下载了。
原因待查。

4、下载代码
我这里下的是8953的开源代码。 可以进以下2个网站查看源码下载该当及对应 的版本。
下载方法介绍:https://wiki.codeaurora.org/xwiki/bin/QAEP/
对应 版本查找:https://wiki.codeaurora.org/xwiki/bin/QAEP/release
有时网站打开开有点慢,需要等待。或者上CSDN搜(baidu搜高通源码,会有人介绍),后续再单独贴高通对应的基线上来,方便打不开时用来查找。

sudo repo init -u git://codeaurora.org/platform/manifest.git -b release -m LA.UM.5.9.r1-01700-8x53.0.xml --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable

下载过程中可能会出如下问题,按提示git配置下即可,重新下载。

File "/home/wangbiao/work/MSM8953/.repo/repo/project.py", line 663, in _LoadUserIdentity
    u = self.bare_git.var('GIT_COMMITTER_IDENT')
  File "/home/wangbiao/work/MSM8953/.repo/repo/project.py", line 2483, in runner
    p.stderr))
error.GitError: manifests var: 
*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'root@ubuntu.(none)')

5、同步,耐心等待。 如果中间老断,可以尝试下http://blog.csdn.net/ldld1717/article/details/52462869 《repo下载国内链接android源码》中最后提到的做一个脚本

sudo ~/bin/repo sync -j4 

脚本

 #!/bin/bash     
    echo "======start repo sync======"     
    repo sync     
    while [ $? == 1 ]; do     
    echo "======sync failed, re-sync again======"     
    sleep 3     
    repo sync     
    done
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐