Windows10 使用WSL2編譯Android源碼總結


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM