Windows系统在VSCode(Visual Studio Code)中使用.NET MAUI并且配置Android Emulator
VSCode优点极多,自主配置,界面舒适,如果不想使用Visual Studio来开发MAUI应用,并且不下载完整的Android Studio,仅使用其Emulator,以下是为VSCode配置环境的方法,同时解决了多种可能出现的问题。
第一步:安装.NET SDK和MAUI工作负载
1.安装.NET SDK,打开终端(命令行,win+R,输入cmd,之后不再说明),运行命令:
dotnet –version
该命令用于检查电脑是否已经安装.NET SDK,如果你看到了版本号例如:
说明你已成功安装.NET SDK,推荐的版本是8.0.404,如果你没有安装合适的版本,此处是链接(点开后会立即自动安装):https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-8.0.404-windows-x64-installer
在你安装好版本后,请再次使用上述命令确认是否为正确的版本,如果不是,可以考虑卸载掉以前的版本(win+R,输入control,选择程序,找到对应的老版本后卸载)。
2.安装MAUI工作负载,运行命令:
dotnet workload install maui
该命令用于安装MAUI工作负载,如果成功安装,会出现类似以下提示:
第二步:安装VSCode插件
打开已经安装的VSCode,如果你还没有安装VSCode,此处是链接:https://code.visualstudio.com/
在VSCode左侧点击扩展(快捷键:Ctrl+Shift+X),可以考虑更换为中文,搜索Chinese并安装,重启VSCode便可启用。
搜索C#和.NET MAUI并安装。其实.NET MAUI会自动安装C#所以只用检查一下是否安装齐全就行,如图:
第三步:配置Android和iOS模拟(用于移动开发)
1.安装Android SDK,链接:https://developer.android.google.cn/studio?hl=zh-cn
此处我们不安装Android Studio,仅使用命令行工具,下滑到接近底部可以看到:
选择Windows,下载解压到一个自定义的位置,请记住这个文件位置,我们需要为其配置环境变量。
解压完成之后,你的文件应当是这样的:
%你选择的文件位置%\cmdline-tools\
在cmdline-tools文件夹下有文件:bin,lib,NOTICE等,请在cmdline-tools文件夹下创建一个latest文件,将所有的bin,lib等文件放入latest,文件结构类似如图:
黑色条处为你的文件路径。
2.设置环境变量(打开电脑设置,搜索环境变量):
在用户变量中新建(如上图)
变量名:ANDROID_SDK_ROOT
变量值:“你的文件路径,cmdline-tools的上一级目录”
在系统变量中新建(如上图)
变量名:ANDROID_HOME
变量值:“你的文件路径,cmdline-tools的上一级目录”
变量名:ANDROID_SDK_ROOT
变量值:“你的文件路径,cmdline-tools的上一级目录”
在系统变量中找到PATH,双击打开并新建以下内容:
%ANDROID_HOME%本质上就是“你的文件路径,cmdline-tools的上一级目录”,他在环境变量中已经被配置。
使用命令:
echo %ANDROID_HOME%
如果出现你在环境变量中配置的路径则说明正确设置。
3.安装platform-tools等必须工具并创建和运行模拟器
运行命令:
sdkmanager "platform-tools" "build-tools;34.0.0" "platforms;android-34" "system-images;android-30;google_apis;x86_64" "emulator"
让我们使用命令确认你是否成功安装并且emulator能够使用:
emulator -version
出现类似下图反馈:
让我们尝试启动模拟器,首先我们先创建一个模拟器,运行命令:
avdmanager create avd -n MyEmulator -k "system-images;android-34;google_apis;x86_64" -d pixel
其中MyEmulator是模拟器的名字,由你自定义,你可以更改为一个方便的名字便于你启动,我使用的是ME。
运行命令启动模拟器,(关闭模拟器使用CTRL+C即可):
emulator -avd ME
4.解决运行模拟器后可能出现的错误
运行之后可能出现问题,例如这样的报错:
ERROR | x86_64 emulation currently requires hardware acceleration! CPU acceleration status: Android Emulator hypervisor driver is not installed on this machine More info on configuring VM acceleration on Windows: https://developer.android.com/studio/run/emulator-acceleration#vm-windows General information on acceleration: https://developer.android.com/studio/run/emulator-acceleration.
从日志来看,Android 模拟器提示需要 硬件加速,但当前系统未安装 Android 模拟器的硬件加速驱动程序。我们需要安装Hypervisor驱动,运行命令(运行模拟器会占用一个终端,你可以先关闭模拟器,也可以新开一个终端):
sdkmanager "extras;google;Android_Emulator_Hypervisor_Driver"
这个命令可能会安装失败,我们可以在GitHub手动下载,链接:https://github.com/google/android-emulator-hypervisor-driver
在右侧的Releases点开:
选择这个版本的压缩文件并下载,
在你的 cmdline-tools 同一目录创建一串文件夹:extrax\google\Android_Emulator_Hypervisor_Driver
将解压后的内容放入 Android_Emulator_Hypervisor_Driver 文件夹中/
之后运行命令来检查虚拟化是否启用:
emulator -accel-check
如果返回 acceleration is working,说明加速已成功启用。
之后再次运行模拟器(关闭后再次打开,重启):
emulator -avd ME
ERROR | Unable to connect to adb daemon on port: 5037
出现类似错误表示ADB Daemon 无法连接,打开命令行,运行以下命令重启 ADB:
adb kill-server adb start-server
使用命令后重启模拟器,如果问题仍然存在,请查看是否有别的进程占用该端口5037(你的可能是别的端口),运行命令查看占用情况:
netstat -ano | findstr 5037
如果被占用,使用任务管理器找到对应PID的进程,结束占用端口的进程。
WARNING | Device 'cache' does not have the requested snapshot 'default_boot' WARNING | Failed to load snapshot 'default_boot' WARNING | Failed to process .ini file
该警告表示Snapshot 加载失败,与模拟器的初始设置有关,可能是 AVD 的缓存问题。
编辑模拟器的配置文件 ME.ini(路径为C:\Users\你的用户\.android\avd\ME.avd)。
添加或者修改以下内容:
FastBoot = off
或者干脆不使用快照功能,在运行模拟器时:
emulator -avd ME -no-snapshot
模拟器可能仍然会提出各种警告,但是并不影响模拟器真正运行,例如RIOT GAMES客户端的反作弊系统Vanguard会与模拟器不兼容,在运行模拟器的同时关闭即可。之后模拟器可以成功运行了。
台服联盟玩家痛哭流涕...
第四步:配置VSCode设置文件
创建一个文件夹(例如Project),用VSCode打开,之后所有的项目你将在这个文件夹中编辑,在Project下创建文件夹.vscode,在该文件夹下创建launch.json,编辑该.json文件:
{ "version": "0.2.0", "configurations": [ { "name": ".NET MAUI Android Debug", "type": "coreclr", "request": "launch", "preLaunchTask": "build", "program": "${workspaceFolder}/bin/Debug/net8.0-android/your-app-name.dll", "args": [], "cwd": "${workspaceFolder}", "stopAtEntry": false, "serverReadyAction": { "action": "openExternally", "pattern": "\\bNow listening on:\\s+(https?://\\S+)" }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" } }
] }
在我标为绿色的部分,尾部的your-app-name请替换为你的项目名字。
第五步:创建并且运行.NET MAUI项目在模拟器上
CTRL+Shift+P,输入.NET,可以看到第一个新建项目(New Project),输入项目名字和文件路径等,即可创建成功。
使用命令生成解决方案:
dotnet build
之后使用命令运行你的程序到模拟器上:
dotnet maui android
使用命令时确保你的模拟器正在运行,运行命令查看你的模拟器是否被连接:
adb devices
如果dotnet maui android命令无法成功使你的程序在模拟器上运行,请尝试使用下面的命令:
dotnet build -t:Run -f net8.0-android
成功运行,如图,默认的运行结果:
第六步:连接到GitHub仓库
在网上下载git,链接:https://git-scm.com/
在你的项目根目录,使用命令初始化:
git init
连接到你的GitHub仓库,使用命令:
git remote add origin 你的仓库url
到这里就结束啦,感谢阅读,orz...
标签:Code,命令,Windows,VSCode,Android,安装,android,模拟器 From: https://www.cnblogs.com/vellynia/p/18555667