wsl2是適用于 Linux 的 Windows 子系統(tǒng)可讓開發(fā)人員按原樣運行 GNU/Linux 環(huán)境 - 包括大多數(shù)命令行工具、實用工具和應(yīng)用程序 - 且不會產(chǎn)生傳統(tǒng)虛擬機或雙啟動設(shè)置開銷
1.wsl2 安裝
詳細安裝過程見官方說明文檔,對win10 有版本要求:
運行 Windows 10(已更新到版本 2004 或更高版本,對于 ARM64 系統(tǒng)則是內(nèi)部版本 19041)
具體安裝過程參考:[wsl2的安裝說明](https://docs.microsoft.com/zh-cn/windows/wsl/install-win10)
安裝Linux系統(tǒng),打開 Microsoft Store,并選擇你偏好的 Linux 分發(fā)版。我選擇的Ubuntu 18.0.4
?2.android 源代碼下載編譯
2.1 源代碼下載
打開一個Linux窗口,執(zhí)行如下命令:
# 初始化repo環(huán)境
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系統(tǒng)python版本是3.x,repo依賴2.x,所以需要先安裝2.x版本的python
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
如果下載斷斷續(xù)續(xù),可以使用腳本來重復(fù)執(zhí)行repo sync
echo "======start repo sync======"
repo sync -c
# 執(zhí)行成功$?會返回0,失敗返回非0
while [ $? -ne 0 ]
do
echo "======sync failed, re-sync again======"
repo sync -c
done
2.2 源代碼編譯
執(zhí)行如下命令:
// 配置java jdk,另外一種選擇是直接配置環(huán)境變量,因為源代碼里面已經(jīng)有現(xiàn)成的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