1. 为什么要在WSL2中交叉编译Android库?
如果你是一名Windows平台的Android开发者,肯定遇到过这样的困境:需要调用C/C++编写的算法库,但直接在Windows上编译的二进制文件无法在Android设备运行。这时候就需要交叉编译——在一个平台上生成另一个平台的可执行代码。
传统做法要么配置双系统,要么开虚拟机,但WSL2提供了更优雅的解决方案。我在实际项目中发现,相比纯虚拟机方案,WSL2有三大优势:
- 性能接近原生:基于Hyper-V的轻量级虚拟化,文件IO速度比传统虚拟机快3-5倍
- 无缝文件互通:直接访问Windows文件系统,避免虚拟机繁琐的文件共享设置
- 终端体验统一:可以在VSCode里直接使用WSL终端,开发调试一气呵成
最近给客户部署图像处理SDK时,就遇到需要同时支持ARM64和x86架构的情况。通过WSL2+NDK的方案,原本需要多台设备验证的工作,现在一台Windows笔记本全搞定。
2. 环境配置:十分钟搞定基础环境
2.1 启用WSL2并安装Ubuntu
首先确认你的Windows版本:
- Windows 10 版本 2004 或更高
- Windows 11 全版本支持
以管理员身份运行PowerShell:
# 启用WSL功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 设置WSL2为默认版本
wsl --set-default-version 2
接着在Microsoft Store搜索安装Ubuntu 22.04 LTS。安装完成后首次启动会要求设置用户名密码,这里建议:
- 用户名不要用中文
- 密码长度至少8位(后续sudo操作需要)
2.2 安装编译工具链
在Ubuntu终端执行:
# 更新软件源
sudo apt update && sudo apt upgrade -y
# 安装基础开发工具
sudo apt install -y build-essential cmake ninj


237

被折叠的 条评论
为什么被折叠?



