wsl2是适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销
wsl2 安装
详细安装过程见官方说明文档,对win10 有版本要求:
运行 Windows 10(已更新到版本 2004 或更高版本,对于 ARM64 系统则是内部版本 19041)
具体安装过程参考:wsl2的安装说明
安装Linux系统,打开 Microsoft Store,并选择你偏好的 Linux 分发版。我选择的Ubuntu 18.0.4
环境准备
安装Vscode 安装vscode插件Remote WSL
这样编辑wsl里的文件时只需要 code ~/.bashrc
即可
给wsl安装软件
sudo apt-get update
sudo apt install repo
sudo apt install python
android 源代码下载编译
2.1 源代码下载
打开一个Linux窗口,执行如下命令:
注意 如果path里面的环境变量有空格 会出现错误导致无法继续执行脚本,解决办法就是编辑~/.bashrc文件 删掉path中的空格
初始化repo环境
mkdir ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod +x repo
cp repo ~/bin
echo "PATH=~/bin:$PATH" >> ~/.bashrc
echo "export REPO_URL=\'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo\'" >> .bashrc
source ~/.bashrc
# 下载代码,由于安装好的Ubuntu系统python版本是3.x,repo依赖2.x,所以需要先安装2.x版本的python
# 下载指定版本 https://source.android.com/setup/start/build-numbers#source-code-tags-and-builds
sudo apt install python
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r36
repo sync -c
如果下载断断续续,可以使用脚本来重复执行repo sync
echo "======start repo sync======"
repo sync -c
# 执行成功$?会返回0,失败返回非0
while [ $? -ne 0 ]
do
echo "======sync failed, re-sync again======"
repo sync -c
done
2.2 源代码编译
执行如下命令:
// 配置java jdk,另外一种选择是直接配置环境变量,因为源代码里面已经有现成的jdk版本,
// 路径prebuilts\jdk\jdk8\linux-x86\bin
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo update-alternative --config java
安装依赖工具链
sudo apt-get install libgl1-mesa-dev g++-multilib flex bison gperf build-essential tofrodos python-markdown libxml2-utils xsltproc dpkg-dev libsdl1.2-dev git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 x11proto-core-dev libx11-dev libgl1-mesa-dev libxml2-utils xsltproc unzip m4 ccache
进入源代码根目录,编译
source build/envsetup.sh
lunch 18
make updatepackage -j8
感谢
https://www.jianshu.com/p/c3bf48ac4418
https://blog.csdn.net/dangelzjj/article/details/109267308