Windows下安装Ubuntu、图形界面、下载Android源码,看这一篇就够了

Windows下安装Ubuntu、图形界面、下载Android源码,看这一篇就够了

八归少年 1,330 2022-10-07

首语

自己手里有一台Windows电脑,但是工作开发都是Linux系统下进行,想着给自己的Windows电脑安装Linux系统,说干就干。

安装Ubuntu

先决条件:Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。

我们的电脑是Windows系统,而Android源代码的编译需要在Linux下进行。我们需要安装一个Linux系统,而折腾双系统比较麻烦,我们可以通过WSL(适用于Linux的Windows子系统)在Windows下建立一个Linux子系统,方便快捷。

那如何启用WSL呢,打开控制面板->程序->启动或关闭Windows功能,勾选“虚拟机平台“和“适用于Linux的Windows子系统。重启电脑,即可启用WSL。
启用WSL
接下来去Microsoft Store搜索Ubuntu,下载20.04.5 LTS版本。
Ubuntu下载
下载完成后双击打开一个Linux 命令行界面,此时我们就处在一个Linux环境下了。
Ubuntu界面
注意:默认会下载在C盘,后期下载源码考虑磁盘空间可以将其安装到其它磁盘,只需要在安装前调整应用保存磁盘就可(设置->系统->存储->高级存储设置-》保存新内容的地方)。
打开命令行界面可能会报如下错误

WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ??? https://aka.ms/wsl2kernel

原因是WSL内核没有升级,可通过如下链接进行升级

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

设置账户名和密码后就可以使用了。同时在文件资源管理器的左侧看到Linux目录,点击可查看所有文件,可进行增删改查等操作。
目录

图形界面

图形用户界面我们安装的是Xfce(运行在类Unix操作系统的自由软件)。

  • 给root用户重设密码(牢记)
 sudo passwd root
  • 安装图形用户界面

注意:默认镜像源下载xfce4部分依赖下载不下来,可配置阿里或清华的镜像源。

sudo vim /etc/apt/sources.list

阿里的镜像源如下

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

安装图形用户界面命令

sudo apt update && sudo apt -y upgrade
sudo apt-get purge xrdp
sudo apt install -y xrdp
sudo apt install -y xfce4
sudo apt install -y xfce4-goodies

# 配置文件参数修改
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3389/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
echo xfce4-session > ~/.xsession

sudo nano /etc/xrdp/startwm.sh
# 将以下这两行注释掉:
# test -x /etc/X11/Xsession && exec /etc/X11/Xsession
# exec /bin/sh /etc/X11/Xsession
# 添加这一行
startxfce4
# 修改完成后Ctrl+x->Y->Enter 即可

# 脚本运行
sudo /etc/init.d/xrdp start

运行成功后,打开Windows远程桌面,输入Ubuntu的ip(通过ip addr查看),点击连接,会弹出一个输入账号和密码的页面。
图形化输入账号界面
账号:root,密码:之前给root重设的密码。点击OK,弹出一个弹框,选择select default config即可,这时,我们就可以看到图形界面了。

顺手安装一个Google Chrome。

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb 

启动Google Chrome会报错如下

[19374:19374:1007/203507.298835:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.

意思是root运行没有--no-sandbox 不支持,添加即可,启动

google-chrome --no-sandbox 

当然我们可以修改快捷方式的command,一劳永逸。这时,Google Chrome成功启动了,当然Google安装OK了,想干啥都行了。
Xfce桌面

下载Android源码

AOSP镜像使用的是清华AOSP镜像,可访问 https://cs.android.comhttps://github.com/aosp-mirror 在线搜索及浏览 AOSP 源码。
Android源码通过repo工具下载。repo的使用需要python,还需要git。
下载配置git

sudo apt-get install git
# 用户设置
git config --global user.name "yhj"
git config --global user.email "hujuny@foxmail.com"
# 检查配置
git config --list 

下载repo

mkdir ~/bin
sudo apt install curl
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
# 配置权限和环境变量
chmod a+x ~/bin/repo
PATH=~/bin:$PATH

下载python

sudo apt-get install python
# 建立软链接
sudo ln -s /usr/bin/python3 /usr/bin/python

源码拉取(只拉取了特定版本)

mkdir AOSP
cd AOSP
mkdir android-10.0.0_r25
cd android-10.0.0_r25
# 初始化仓库
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-10.0.0_r25

初始化仓库时会报如下错误

Downloading Repo source from https://gerrit.googlesource.com/git-repo
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [Errno 110] Connection timed out

在~/.bashrc文件下添加如下代码即可

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

代码同步

repo sync

几小时后,代码同步成功,这个版本大约100G左右。

总结

本文安装Ubuntu、图形界面、下载Android源码都是为后续进行Android源码的编译、开发服务的,当然也适合给自己的Windows电脑搭建Linux环境。配置过程中如有问题可评论区进行交流。
后续会更新Android源码目录结构、如何使用Android Studio调试系统APP(Settings、SystemUI等)及Framework等内容,敬请期待。


Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.yanghujun.com/archives/ubuntun