首页 > 系统相关 >Windows系统在VSCode(Visual Studio Code)中使用.NET MAUI并且配置Android Emulator

Windows系统在VSCode(Visual Studio Code)中使用.NET MAUI并且配置Android Emulator

时间:2024-11-19 22:31:27浏览次数:1  
标签:Code 命令 Windows VSCode Android 安装 android 模拟器

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

相关文章

  • code
    快速排序代码https://www.acwing.com/problem/content/description/787/voidQuickSort(intq[],intlow,inthigh){//递归的终止情况if(low>=high)return;//第一步:分解为子问题intpivot=q[low+high>>1],i=low-1,j=high+1;......
  • 【高效远程协作】使用Excalidraw让你的Windows电脑变身远程协作白板
    文章目录前言1.Excalidraw功能特点2.安装Node.js3.安装Git4.安装Excalidraw5.本地链接测试6.公网远程访问本地Excalidraw7.内网穿透工具安装8.配置公网地址9.使用固定公网地址远程访问前言本文主要介绍如何在Windows系统电脑端使用这款超好用的白板手绘工具Excalid......
  • [Java] String的hashCode方法
    简述java/lang/String#hashCode是用途极广的方法,其源码实现也存在一定变迁。其位于JRE的rt.jar包内OpenJDKOpenJDK8-b120版~9-b00版:=OracleJDK1.8.0-261jdk/jdk/src/share/classes/java/lang/String.javahttps://github.com/openjdk/jdk/blob/jdk8-b120/......
  • Vscode Mingw64抢夺Python路径的解决方案
    VscodeMingw64抢夺Python路径的解决方案系统:Windows11时间:2024/11/19环境:Vscode:版本1.95.3   Python扩展:v2024.20.0   Mingw64:version5.2.37(1)-release(x86_64-pc-msys)说明首先说明一下什么叫抢夺路径:本人在今天再次运行一个此前运行过的python程序......
  • Windows注册表REG_SZ字符串值增加回车换行
    前言全局说明在新建文本时,默认里面是空的,但Windows支持,在注册表里添加Data键值,来增加。默认键类型是REG_SZ字符串单行文本,但是要回车换行正常情况下就不支持了经过两天的网上查找和GPTchat查询,总结了一下注册表,修改有风险!修改前,请备份注册表,修改有风险!修改前,请备份注册表......
  • C# 注册Windows服务
    环境:.NETFarmework4.7.2IDE:VisualStudio2022添加程序集引用:System.ServiceProcessSystem.Configuration.Install右键项目,添加UpdateServices1类,让UpdateServices1继承ServiceBase(UpdateServices1换成自己的Services服务) 编译过后如果需要更新服务代码,要在Windows服务......
  • WasomCodeX试用-工程文件结构
    官方的Gitee提供了Tutorial程序供下载学习。打开后,可以看到程序结构。在这个程序里,可以看到从main主程序到各个FC都写在一个文件里。同时,通过终端查看下文件目录结构。/wasomeide_workspace/tutorials/projects/ch05-1$tree-l.├──ams_pack.log├──build│├......
  • AtCoder Beginner Contest 352 - VP记录
    A-AtCoderLine赛时整活想写异或版本的swap写错了还WA了一发。不过现在会写了:x^=y^=x^=y点击查看代码#include<cstdio>#include<algorithm>usingnamespacestd;intmain(){ intn,x,y,z; scanf("%d%d%d%d",&n,&x,&y,&z); if(x>y)swap(x,y); p......
  • Educational Codeforces Round 156 (Rated for Div. 2) - VP记录
    A.SumofThree枚举即可,是否可行只与\(a,b,c\)模三的余数有关,所以随便小范围枚举一下\(a,b\)就行了(只枚举\(1,2,3\)可能会因为两数相同而误判),这样最不容易错。点击查看代码#include<cstdio>usingnamespacestd;intmain(){ intT;scanf("%d",&T); while(T--) ......
  • 二分查找(折半查找)(内含CodeForces - 1760F )
    在数组中想要找到一个元素,我们最先想到的就是遍历数组,用if语句判断它们是否相等,但时间复杂度太高,我们也不想遍历数组中的每个元素,感觉太麻烦了。这时就可以用二分查找的方法:先将数组排序,然后不断折中数组,只需比较中值与目标值的大小,更新中值的大小就行了,这样可以大大减少时间......