Android源代码下载过程及遇到的问题

Android源代码下载与编译过程
1)下载repo脚本工具
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo

chmod +x repo

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

2)下载Android压缩包
wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包

tar xf aosp-latest.tar

cd AOSP   # 解压得到的 AOSP 工程目录

repo sync # 正常同步一遍即可得到完整目录

注意:repo sync的时候要保证路径是正确的,路径设置方式为:
1、直接用export命令:  
#export PATH=$PATH:/nfz(我的是根目录下自己创建的文件夹)  
查看是否已经设好,可用命令export查看:  
[root@localhost bin]# export  
declare -x BASH_ENV="/root/.bashrc"  
declare -x G_BROKEN_FILENAMES="1"  
declare -x HISTSIZE="1000"  
declare -x HOME="/root"  
declare -x HOSTNAME="localhost.localdomain"  
declare -x INPUTRC="/etc/inputrc"  
declare -x LANG="zh_CN.GB18030"  
declare -x LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"  
declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"  
declare -x LOGNAME="root"  
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*NaNd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"  
declare -x MAIL="/var/spool/mail/root"  
declare -x OLDPWD="/opt/au1200_rm/build_tools"  
declare -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/opt/au1200_rm/build_tools/bin"  
declare -x PWD="/opt/au1200_rm/build_tools/bin"  
declare -x SHELL="/bin/bash"  
declare -x SHLVL="1"  
declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"  
declare -x SSH_AUTH_SOCK="/tmp/ssh-XX3LKWhz/agent.4242"  
declare -x SSH_CLIENT="10.3.37.152 2236 22"  
declare -x SSH_CONNECTION="10.3.37.152 2236 10.3.37.186 22"  
declare -x SSH_TTY="/dev/pts/2"  
declare -x TERM="linux"  
declare -x USER="root"  
declare -x USERNAME="root"  
可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。 
2、修改profile文件:  
#vi /etc/profile  
在里面加入:  
export PATH="$PATH:/nfz"  
让环境变量立即生效需要执行如下命令:  
#source /etc/profile  
3. 修改.bashrc文件:  
# vi /root/.bashrc  
在里面加入:  
export PATH="$PATH:/nfz"  
4
特别说明:
方法2、3
一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:  
# echo $PATH  
看看输出里面是不是已经有了/my_new_path这个路径了。


安装过程中遇到的问题:
问题一:
问题描述:在linux虚拟机中没办法创建软连接,即运行ln -s manifests/default.xml manifest.xml时,
报failed to create symbolic link `node': Read-only file system错误,
解决方法:
1.找到VirtualBox安装目录运行CMD终端

VBoxManage setextradata YOURVMNAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME 1

YOURVMNAME : 虚拟机名称
YOURSHAREFOLDERNAME :共享文件夹名称

2.查看修改状态

VBoxManage getextradata YOURVMNAME enumerate

3.确定windows用户为管理员用户,以管理员的身份重新打开virtualBox,重启linux系统,问题既可以解决了

参考方法连接:https://www.cnblogs.com/elta/articles/3763953.html


问题二:
共享文件夹问题解决后,运行repo sync即同步数据时报error: .repo/manifests/: contains uncommitted changes错误
解决方法:把共享文件夹中需要用到的压缩包copy到linux磁盘下,重新解压,下载repo,运行repo sync

问题三:同步数据时,由于文件太大,磁盘空间不够
解决方法:删除压缩包(因为已经解压,压缩包太大,占了过多的内存),重新运行repo sync同步数据成功

https://www.cnblogs.com/ningci/p/9608845.html
https://blog.csdn.net/hunter___/article/details/80972878
https://blog.csdn.net/weixin_42676203/article/details/81561501
https://blog.csdn.net/qq_21445563/article/details/80652596
https://www.cnblogs.com/hongdiandian/p/9025089.html
 

你可能感兴趣的:(Android源代码下载过程及遇到的问题)