Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >wsl2开发环境搭建

wsl2开发环境搭建

作者头像
Heeler-Deer
发布于 2023-07-24 12:27:52
发布于 2023-07-24 12:27:52
8530
举报
文章被收录于专栏:HD-学习笔记HD-学习笔记

本篇内容主要涉及:

  1. windows安装wsl2以及wsl2安装Arch
  2. Arch搭建node/conda/java/flutter/c++等开发环境
  3. Android Studio使用连接windows的手机设备

wsl2安装

为什么是wsl2

nvidia对linux的相关驱动已经越来越完善,越来越多的人使用linux/mac系统作为日常开发环境——而windows相较unix系系统,本身的快捷键、命令行等相关支持并不完善,所幸经过几年的完善,wsl2已经发展的比较完善了,而使用wsl2的优点在于:存在于wsl2的整个环境都可以打包,迁移方便,可以轻松管理开发环境。在我看来,这是wsl2最大的优点,尽管wsl2目前的gui程序还存在一些问题,但作为个人开发者,wsl2已经可以满足大多数开发场景了——你不需要像使用纯linux一下配置驱动、配置各种应用程序(尽管有些程序确实比windows下相应的程序好)

安装wsl2

可以参考:wsl2+archlinux+kde+tigerVNC图形化配置: 漫长的折腾以后完成了wsl2下archlinux的安装和kde桌面的图形化显示。以此记录。 (gitee.com)

在微软商店中,直接搜索wsl安装即可获得wsl1,这个时候,我们以管理员模式打开powershell,输入:

1

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

重启wsl,再次输入:

123

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartdism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartwsl --set-default-version 2

即可设置为wsl2.

这个时候,在微软商店中安装arch即可。注意,我们不需要为wsl2配置图形化界面,只需要安装好中文即可。按照我的体验,不建议使用vnc作为图形界面,不如直接终端启动wsl2的图形化程序。

wsl的迁移与基础配置

由于Arch上要装许多开发环境,占用空间越来越大,建议将wsl迁移到其他盘,可以参考WSL的安装和位置迁移 - 知乎 (zhihu.com)

首先powershell中关停wsl:

1

wsl --shutdown

之后导出:

1

wsl --export Arch D:/export.tar

最后注销原来的虚拟机器卸载并导入:

12

wsl --unregister Archwsl --import Arch D:\export\ D:\export.tar --version 2

配置代理

首先假设你的host机器能够科学上网,且在127.0.0.1:7890开了端口。那么我们在wsl2里面需要做的就是把流量引导到windows中,而我们就需要获取windows的ip:

1

export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')

之后,可以通过命令设置https_proxy以及http_proxy的值,注意引号中的内容需要根据自己使用的协议选择http或者socks5

12

export https_proxy="http://${hostip}:7890";export http_proxy="http://${hostip}:7890";

参考 代理上网,可以在.bashrc/.zshrc中添加 :

123

export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')alias setss='export all_proxy="socks5://${hostip}:7890";'alias unsetss='unset all_proxy'

这个时候,尽管我们可以通过setss让终端科学上网,但无法让wsl2的其他程序上网,这里可以使用proxychains4,配置后即可通过proxychains4 program来让程序也科学上网。

Arch开发环境搭建

建议先使用pacman安装yay,之后使用yay安装其他软件即可:

123456789101112

# 初始化## 设置root密码passwdpacman-key --initpacman-key --populatepacman -S archlinuxcn-keyring # 更新pacman -Syyu # 安装基本软件pacman -S base base-devel git curl wget zsh yay neofetch net-tools dnsutils inetutils

Android Studio相关配置

首先,在wsl2中使用gui程序,有时是会直接卡死的,因此要做好心理准备😃

安装的android studio的话,非常简单,官网下载包就行,执行文件在./AndroidStudio/bin下的studio.sh。我的做法是将该路径添加到/etc/profile的path环境变量中,这些source /etc/profile后就可以在任意路径执行studio.sh了。

Android Studio的使用和windows/mac基本一致,不在详述。

关于安卓代码调试,在我的环境中,Android Studio不支持创建虚拟设备,因此只能选择物理真机调试,此时需要做一个网络端口转发才能让wsl2的android studio连接到物理机。

首先,windows安装adb并将其添加到环境变量中,将手机连接后,在powershell中执行

1

adb devices

可以看到连接windows的设备。

此时,在wsl2的arch中安装adb,执行:

1

adb devices

这个时候应该看不到手机(该终端未执行setss时)

而为了让wsl2能够看到手机,我们需要主机的ip,由于在前述中,我们设置了hostip用于保存windows的ip,因此此时我们可以通过执行:

12

setssadb devices

来看到手机,或者通过修改proxychains4的配置文件,执行:

1

proxychains4 adb devices

来看到手机。而要想让Android Studio在device manager中看到手机,只需要执行:

1

proxychians4 studio.sh

即可。注意,这里不推荐手动填写配置AS的代理设置,通过proxychains4更加方便。

这里可能会出现问题,由于使用了proxychains4做代理,笔者在开发flutter项目时,发现尽管通过proxychains4启动Android Studio可以使其识别设备,在编译运行安卓时却会由于代理混乱导致无法编译成功,报错类似:

1

A new daemon was started but could not be connected to: pid=DaemonInfo{pid=4632, address=[85bbb456-d4ea-4e7e-9e29-5b7f8dc768e8 port:35581, addresses:[/127.0.0.1]], state=Busy, lastBusy=1687741775718, context=DefaultDaemonContext[uid=dcfbca72-8331-4ca2-a9b9-8c64eabd7832,javaHome=/home/heelerdeer/Desktop/android-studio/jbr,daemonRegistryDir=...

目前我的解决方案是,不开代理启动studio.sh,编译生成apk,在另一个终端开启代理,使用adb install test.apk解决。

调试

关于如何在wsl2调试安卓,我目前的解决办法与上文刚好相反。首先,手动在命令行编译成安卓apk(不使用代理),然后使用adb安装到手机上(使用代理运行adb),在android studio的logcat查看运行的日志(使用代理打开android studio)。即在windows下打开一个arch终端,手动编译成apk,

这时候在使用代理开启adb,安装apk,并使用代理开启android studio(使其可以扫描到手机),打开其logcat,输入对应的安装包包名,即可看到手机上app的运行日志

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年6月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
为 WSL2 一键设置代理
在 WSL2 环境中 clone 一个很大的 git 项目,不走代理速度很慢,所以研究了一下怎么让 WSL2 走 Windows 的代理客户端。
simpleapples
2020/07/06
4.1K0
Windows10 WSL2 Ubuntu 图形界面环境搭建(Xfce4 、XServer)
在安装了wsl2后有时候需要传文件到ubuntu上面,比如传一个测试项目什么的。因为wsl里面挂载了本地的磁盘,所以准备安装个图形界面,操作下也挺简单的。
SpringSun
2021/04/30
28.2K0
Windows10  WSL2 Ubuntu 图形界面环境搭建(Xfce4 、XServer)
Win11安装基于WSL2的Ubuntu
趁着还没有完全忘记,详细记录一下在Win11下安装基于WSL2的Ubuntu的详细过程。不得不说WSL2现在被微软开发的比较强大了,还是很值得安装和使用的,笔者就通过WSL2安装的Ubuntu成功搭建了ROS环境。
charlee44
2024/12/14
6080
Win11安装基于WSL2的Ubuntu
Windows 下 wsl2 的使用及问题记录
适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
caoayu
2020/12/31
7.7K2
Windows 下 wsl2 的使用及问题记录
移动测试Appium开发环境搭建
移动测试Appium开发环境搭建 概述 本文主要分享移动测试Appium开发环境搭建所需要的主要工具、组件等,但并不详解的对每个工具、组件的安装进行详细的说明。 你需要准备什么? JDK 设置java环境变量 安装Android SDK/ADB 安装Android SDK相应的包 设置Android开发环境变量 下载安装Nodejs并设置环境变量 下载安装Microsoft .net framework 安装Appium客户端驱动脚本,python版请安装Appium-Python-Client 启动设备(
苦叶子
2018/04/09
1.2K0
WSL2入坑指北
随着Win10 2004版本的发布,WSL2的时代也正式到来。使用过WSL的用户,都遇到过一些很不爽的问题,例如:不能直接使用docker,一些系统相关的函数不能调用,netstat命令不能使用等。这些问题在WSL2中都得到了解决,因此,是时候切换到WSL2了。
drunkdream
2020/07/29
5.2K0
WSL2入坑指北
Android开发笔记:Android开发环境搭建
JDK 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
朝雨忆轻尘
2019/06/19
1.4K0
Android开发笔记:Android开发环境搭建
最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。
DevOps在路上
2023/05/16
7.5K0
最详尽教程完整介绍-Windows 的 Linux 子系统-WSL1&WSL2
kali虚拟机逆向环境搭建
  之前看很多大佬都不推荐在Windows系统上做逆向,说是Windows有很多拖后腿的地方。自己学逆向到现在大概两年左右,用的最多的还是Windows,毕竟用这么多年了还是它比较顺手。当然遇到很多需要软件需要自己编译的时候还得用实验室的Ubuntu服务器。虽然之前也装过Kali虚拟机但是总是没有好好用起来。最近又有编译AOSP的需求了,但是服务器毕竟还是隔了一条网线,而且马上要毕业了,我希望编译的出来的ROM毕业以后也能方便的修改和使用,所以干脆买了个1T的SSD移动硬盘专门用来放虚拟机的镜像,这样相当于把自己的逆向环境都放到这个硬盘中了,可以方便的在不同机器中切换,只要宿主机器装一个VMWare就行了。于是顺便记录一下环境搭建的过程。
大A
2023/02/14
2.1K0
【Linux运维】Windows上装Linux运行环境WSL2
WSL2是Windows Subsystem for Linux的第二个版本,它允许在Windows操作系统上运行本地Linux应用程序。相比于WSL1,WSL2采用了全新的虚拟化技术,使得Linux内核可以直接运行在一个轻量级的虚拟机中,从而提供更好的性能和更高的兼容性。
DevFrank
2024/07/24
8400
在 Windows 下使用 WSL2 搭建 Kubernetes 集群
本文我们将介绍如何在 Windows10 下使用 WSL2 和 KinD 来搭建一套 Kubernetes 集群。在过去几年,Kubernetes 已经成为了容器编排领域事实上的标准。虽然现在已经有各种各样的 Kubernetes 发行版本和安装程序来部署 Kubernetes 环境了,除了云环境或者裸机环境下面之外,我们仍然需要在本地部署和运行 Kubernetes 集群,特别是对于相关的开发人员。
我是阳明
2020/06/15
15.9K2
在 Windows 下使用 WSL2 搭建 Kubernetes 集群
cordova开发环境搭建
最近我在尝试了解跨平台技术的发展,首先则是想到了cordova。本文简单记录下cordova环境搭建的过程。
程序员白彬
2020/07/10
1.7K0
cordova开发环境搭建
Linux下Android开发环境的搭建
本文默认读者已安装好java环境,如果没有请按照下面的链接里的步骤来配置。 http://www.yiibai.com/java/how-to-install-java-on-ubuntu.html
陈宇明
2020/12/15
4K0
Linux下Android开发环境的搭建
Android native开发环境搭建
          在音视频开发领域中,可能会涉及到服务器,客户端多个组件开发,随着流媒体技术日渐成熟和开源支持,服务端需求量相对较少,甚至直接接入第三方的视频云或者语音云实现产品快速集成,而客户端因直接与用户打交道,变化快,需求相对多(特别是多平台客户端)。很多产品都会涉及到PC端(windows,MAC,Linux),移动端开发(android ,ios),甚至是web端,小程序的开发。对于PC端环境,我们再熟悉不过了,无需赘述。本文将介绍android native开发环境的搭建。
用户4148957
2022/06/14
1.1K0
Android native开发环境搭建
Win10下配置WSL2使用CUDA搭建深度学习环境
操作系统:Windows 10 专业版 22H2(保系统版本高于windows10 21H2或Windows11)
御坂妹
2024/11/04
2K0
android-studio安装及android开发环境搭建[通俗易懂]
android-studio-IDE:https://developer.android.google.cn/studio/
全栈程序员站长
2022/09/15
1.1K0
Windows WSL2安装Ubuntu搭建开发环境教程,2023年5月更新
例如:ubuntu config --default-user root 会将 Ubuntu 发行版的默认用户更改为 “root” 用户。
德顺
2023/08/25
3.3K0
【Uniapp】-uni-app开发环境搭建
那么了解完了什么是 Uniapp 之后,这篇文章再来搭建一下 Uniapp 的一个开发环境,那 Uniapp 的开发环境需要什么东西?也非常的简单,这时候我不管三七二十一,还是先回到 Uniapp 官方的一个首页,也就是 dcloud.io 首页,回他首页之后,在他首页轮播图中有个东西叫做 HBuilderX 极客开发工具, 如图所示:
程序员NEO
2023/12/02
9960
【Uniapp】-uni-app开发环境搭建
Flutter开发环境搭建
对于上文Android Studio✗部分,只需要在AndroidStudio中的Plugin中安装Flutter插件即可。 对于'Some android licenses not accept'的警告可以运行:
吴延宝
2018/09/10
6630
搭建Flutter开发环境的详细教程
6. dart SDK在 flutter/bin/cache/dart-sdk
用户6297767
2023/11/21
3780
搭建Flutter开发环境的详细教程
相关推荐
为 WSL2 一键设置代理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档