Windows10 Linux子系统环境下载Android源码

Windows10 Linux子系统环境下载Android源码

  • 操作步骤
    • WLS安装
    • WLS配置
      • root账户配置
      • 源配置
      • SSH配置
      • 安装和配置git
    • Android源码拉取
    • 问题总结

操作步骤

记录在WLS下下载源码遇到的问题,以免后面继续踩坑。

WLS安装

Windows10 Linux 子系统的安装,这里就不再赘述,请自行百度,主要步骤是在控制面板中把Linux子系统的功能打开,然后安装更新,再到应用商店中下载Ubuntu应用程序即可。

WLS配置

root账户配置

WLS安装好后,需要配置用户,这个根据提示安装即可。
需要注意的是,当前只有一个用户,不存在root用户,也就是说无法切换到root用户,需要执行以下命令配置root用户密码:

sudo passwd

根据提示输入密码,然后就可以使用su切换到root账户。

源配置

可以使用默认源,也可以根据自己需要,切换到其他的源,我这里配置的是阿里源,执行如下命令备份原始的源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

然后将如下内容替换到/etc/apt/sources.list中

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

然后执行如下命令进行更新:

sudo apt-get update
sudo apt-get upgrade

SSH配置

这是个人习惯,喜欢使用xshell界面,所以我这里配置了SSH,以便访问。
首先需要卸载掉自带的openssh-server,不知道什么原因,自带的配置后无法使用,所以需要重装。

sudo apt-get autoremove openssh-server
sudo apt-get install openssh-server

安装好后进行如下配置:

sudo vi /etc/ssh/ssh_config

打开PasswordAuthentication yes的注释,配置ssh服务器,把PermitRootLogin prohibit-password改成PermitRootLogin yes,保存退出。
重启ssh服务sudo /etc/init.d/ssh restart

安装和配置git

同样,建议先卸载掉原始的git,然后安装新版本git,不知什么原因,使用阿里源安装的git版本较老,所以我这里将源配置Ubuntu的后再安装的git,git安装好后再配置回去。

git config --global user.name "xxxxx"
git config --global user.email "[email protected]"

通过上述命令,配置自己的用户名和邮箱,邮箱一定要正确。
通过以下命令可以查看自己的配置

git config --list

Android源码拉取

  • 安装curl,使用命令sudo apt-get install curl进行安装
  • 下载repo,有两个方式
    使用如下命令:
sudo apt-get install repo

或者使用curl

mkdir ~/bin
export PATH="~/bin:$PATH"
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

REPO_URL的值修改为https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
需要注意的是,用第一种方法下载的repo,在拉取代码时直接执行repo命令即可repo init -u,第二种方式需要指明repo,例如~/bin/repo init -u

  • 创建代码根目录,然后初始化repo,由于WLS安装在C盘,且目前安装路径无法改动,所以代码最好拉取到其他盘,其他盘都已经在WLS下进行了挂载,我这里保存到E盘
cd /mnt/e
mkdir android_src
cd android_src
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b master

我这里选择的拉取master分支,这是Android源码稳定的分支,代码会不断迭代更新。

  • 同步代码
repo sync -c

-c只拉取当前分支,节约本地空间,拉取下来总大小在100GB左右,中间会有很多次失败,失败后再重新开始即可。

问题总结

  • repo sync时无法同步,提示permission denied
    这是repo 工具的问题,我尝试了多次,均是有问题,最后发现我的源是Ubuntu的,我更新到阿里源后,通过sudo apt-get install repo进行了下载成功。
  • git 版本问题,无法更新
    默认的git版本很旧,无法进行更新,后面发现是阿里源的问题,切换到Ubuntu的源,成功更新了git版本到最新。
  • ssh配置后不生效
    ssh配置需要将原始的ssh卸载掉,重新安装后,一步到位。

综上,在阿里源和Ubuntu源我做了多次切换,大家遇到问题后,也可以尝试切换源试试。

你可能感兴趣的:(Android,WLS)