Windows11 WSL2环境下高效搭建Android开发环境
1. 项目概述Windows11 WSL2环境下的Android系统开发在Windows11上通过WSL2进行Android系统开发本质上是在微软的Linux子系统环境中搭建完整的AOSPAndroid Open Source Project编译工具链。这种方案完美解决了传统开发模式中双系统切换的痛点同时避免了虚拟机方案的系统资源浪费问题。我最近在为一款定制ROM项目做移植工作时发现这套工作流相比传统方案有三个显著优势文件操作性能提升3倍Ext4 vs NTFS内存管理更灵活可配置Swap空间开发环境隔离性更好加密分区支持2. 环境准备与WSL2配置2.1 系统要求检查在开始前需要确认Windows11版本需≥21H2Build 22000BIOS中启用虚拟化VT-x/AMD-V至少16GB物理内存推荐32GB100GB可用磁盘空间建议SSD重要提示家庭版Windows需先升级到专业版否则无法使用Hyper-V虚拟化功能2.2 WSL2安装步骤以管理员身份执行# 启用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 # 安装Ubuntu发行版 wsl --install -d Ubuntu-22.04安装完成后需要创建非root用户避免权限问题运行sudo apt update sudo apt upgrade安装基础工具包sudo apt install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig3. 存储方案优化3.1 Ext4分区配置WSL2默认使用虚拟磁盘VHDX但我们可以挂载物理分区获得更好性能在Windows磁盘管理器中创建未分配空间使用diskpart清理目标磁盘diskpart select disk 1 clean convert gpt exit挂载到WSL2wsl --mount \\.\PHYSICALDRIVE1 --bare在WSL2中分区格式化sudo fdisk /dev/sdb # 创建新分区后 sudo mkfs.ext4 /dev/sdb13.2 加密存储配置可选对于敏感项目建议使用LUKS加密sudo apt install cryptsetup sudo cryptsetup luksFormat /dev/sdb1 sudo cryptsetup luksOpen /dev/sdb1 android_secure sudo mkfs.ext4 /dev/mapper/android_secure sudo mount /dev/mapper/android_secure ~/android4. Android开发环境搭建4.1 工具链安装安装JDK 11sudo apt install openjdk-11-jdk配置Repo工具mkdir ~/bin curl https://storage.googleapis.com/git-repo-downloads/repo ~/bin/repo chmod ax ~/bin/repo export PATH~/bin:$PATH安装Python3sudo apt install python3 python3-pip4.2 源码同步mkdir ~/aosp cd ~/aosp repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r1 repo sync -j8同步过程中可能遇到的内存不足问题可通过增加Swap解决sudo dd if/dev/zero of/swapfile bs1G count16 sudo chmod 0600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile5. 编译配置与优化5.1 内存配置调整编辑~/.wslconfig文件[wsl2] memory16GB swap32GB processors8 localhostForwardingtrue5.2 编译环境初始化source build/envsetup.sh lunch aosp_x86_64-eng5.3 并行编译优化make -j$(nproc --all)实测编译时间对比默认配置4小时12分优化后2小时38分i7-12700H/32GB6. 设备调试方案6.1 USB设备接入Windows端安装usbipdwinget install --interactive --exact dorssel.usbipd-winWSL2端安装工具sudo apt install linux-tools-5.15.0-76-generic hwdata连接设备usbipd wsl attach --busid 设备ID6.2 ADB调试配置在Windows安装Android SDK Platform-Tools配置端口转发adb -a -P 5037 nodaemon serverWSL2中设置export ADB_SERVER_SOCKETtcp:$(cat /etc/resolv.conf | grep nameserver | awk {print $2}):50377. 常见问题解决7.1 文件系统性能问题症状编译过程卡顿IO等待高 解决方案确认使用Ext4分区而非NTFS禁用Windows Defender实时保护增加WSL2内存分配7.2 OOM Killer触发症状编译进程被意外终止 解决方案增加Swap空间见4.2节减少并行编译任务数make -j$(($(nproc --all)/2))7.3 网络连接问题症状repo sync失败 解决方案配置git代理git config --global http.proxy http://proxy.example.com:8080或使用镜像源repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest8. 开发效率提升技巧VS Code远程开发安装Remote - WSL扩展在WSL终端执行code .即可打开项目增量编译mmm packages/apps/Settings快速刷机adb reboot bootloader fastboot flashall -w日志过滤logcat -b all -v color | grep -iE error|fail|exception这套环境我已经持续使用9个月编译过AOSP 11-13多个版本。最深的体会是一定要给WSL2分配足够的内存和Swap空间这是保证编译成功的关键。另外建议将工作目录放在独立的Ext4分区相比默认的VHDX方案编译时间能缩短40%以上。

相关新闻

Android通知栏快捷开关开发指南

Android通知栏快捷开关开发指南

1. Android通知栏快捷开关概述在Android 7.0(API 24)中,Google引入了Quick Settings Tile(快捷开关)功能,允许开发者将常用功能以快捷开关的形式添加到系统通知栏。这个功能极大提升了用户操作效率&#xf…

2026/7/28 4:58:13 阅读更多 →
AI Toolkit:为什么这个开源工具能让普通人也能训练专业级扩散模型?

AI Toolkit:为什么这个开源工具能让普通人也能训练专业级扩散模型?

AI Toolkit:为什么这个开源工具能让普通人也能训练专业级扩散模型? 【免费下载链接】ai-toolkit The ultimate training toolkit for finetuning diffusion models 项目地址: https://gitcode.com/GitHub_Trending/ai/ai-toolkit 你是否曾经想要训…

2026/7/24 15:29:44 阅读更多 →
3个步骤永久保存微信聊天记录:WeChatMsg本地数据自主解决方案

3个步骤永久保存微信聊天记录:WeChatMsg本地数据自主解决方案

3个步骤永久保存微信聊天记录:WeChatMsg本地数据自主解决方案 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/w…

2026/7/28 16:34:32 阅读更多 →

最新新闻

LangChain 项目复盘:权限和日志才是 Demo 到生产的生死线

LangChain 项目复盘:权限和日志才是 Demo 到生产的生死线

如果你正准备往大模型方向转,《一次LangChain项目复盘,问题最后出在流程而不是模型》这类问题别只看热度。更重要的是判断自己该补哪块能力,以及怎么证明你真的会。 摘要 摘要:本文结合近期招聘需求与开发实践,从 La…

2026/7/29 0:36:35 阅读更多 →
Android WebView 设计指南

Android WebView 设计指南

一、基础架构┌─────────────────────────────────┐ │ Android App Layer │ │ ┌───────────┐ ┌─────────────┐ │ │ │ Activity │ │ Fragment │ │ │ └─────┬────…

2026/7/29 0:36:35 阅读更多 →
大模型赋能办公协同:小白程序员必备的AI效率革命指南(收藏版)

大模型赋能办公协同:小白程序员必备的AI效率革命指南(收藏版)

本文全面解析大模型技术如何重构企业办公协同,从会议、文档、跨部门协作等全流程提升效率,实现数据驱动决策。文章深入探讨知识管理重构、成本效益提升等核心优势,同时揭示技术适配、数据安全、组织文化等落地挑战,并给出技术、组…

2026/7/29 0:36:35 阅读更多 →
JAVA毕设项目: 基于 JavaWeb 的新闻论坛一体化管理系统智慧求知资讯整合与社区交互系统(源码+文档,讲解、调试运行,定制等)

JAVA毕设项目: 基于 JavaWeb 的新闻论坛一体化管理系统智慧求知资讯整合与社区交互系统(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/29 0:36:35 阅读更多 →
html二级下拉菜单代码?别傻了,这代码分分钟让小白原地起飞

html二级下拉菜单代码?别傻了,这代码分分钟让小白原地起飞

要借助HTML去创建出一个二级菜单栏诶, 能够依照以下一系列步骤来开展: , 1. **基本结构**: 运用标签将整个页面的相关内容给包裹起来。2. **菜单栏容器**: 去创建出一个专门用作菜单栏的容器。3. **菜单栏标题**: 于菜单栏之中添加一个标签当作标题。4. **子菜单**: 在标题的内…

2026/7/29 0:36:35 阅读更多 →
【JAVA毕设源码分享】基于springboot水产品安全信息管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot水产品安全信息管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/29 0:35:35 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻