无法在Visual Studio Android模拟器中调试Xamarin应用程序

55ooxyrt  于 2023-04-27  发布在  Android
关注(0)|答案(4)|浏览(161)

我正在尝试学习Xamarin,但我的设置发生了一些问题,我无法在模拟器中通过单击Debug/Run按钮打开我的应用程序。它所做的只是打开或激活(如果它已经打开)Android设备管理器。
Visual Studio输出窗口(Build)显示:

The debug was canceled. Please create an android emulator to debug the application.

我已经创建了一个模拟器,它工作正常。当我尝试运行我的应用程序时,模拟器正在运行。
此外,Android设备管理器中会弹出一个消息框,内容如下:

Device Manager

Device error: error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.

我不知道这意味着什么,我找不到涵盖这一点的文档。
'adb kill-server'没有任何效果。我在adb命令提示符下尝试了该命令,我手动启动了一个管理命令提示符,并尝试杀死和重新启动adbd。我试过用'adb keygen'重新生成密钥,但我不能有任何效果。
我在Windows 10上。
Xamarin Diagnostics窗口看起来像这样,在我启动VS后,单击Run,Android Device Manager打开Create New Emulator对话框,我取消并运行我已经创建的模拟器,我等待它 Boot ,然后再次单击Run,这只是将ADM窗口向前移动。

[D:]:                     FindVersionFile: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Version, result=False
[D:]:                     FindVersionFile: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Version.txt, result=True
[I:]:                     Found Xamarin.Android 9.3.0.23
[I:sdk]:                  Runtime path: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android
[I:sdk]:                  Framework path: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0
[D:]:                     ValidateAndroidSdkLocation: `C:\Program Files (x86)\Android\android-sdk`, result=True
[D:]:                     ValidateAndroidNdkLocation: ``, result=False
[I:]:                     Looking for Android NDK...
[I:]:                     Looking for Android SDK...
[D:]:                     ValidateAndroidSdkLocation: `C:\Program Files (x86)\Android\android-sdk`, result=True
[D:]:                     ValidateAndroidSdkLocation: `C:\Program Files (x86)\Android\android-sdk`, result=True
[D:]:                     ValidateJavaSdkLocation: `C:\Program Files\Android\Jdk\microsoft_dist_openjdk_1.8.0.25`, result=True
[I:]:                     Tracking android devices started
[D:]:                     Tracking avd started
[D:]:                     avd watcher *.ini path: 'C:\Users\Matt\.android\avd'
[D:]:                     avd watcher: got device list from avd with 0 devices
[D:]:                     TrackDeviceTask got: 
[I:]:                     Got new device list from adb with 0 devices
[I:]:                     Looking for Android SDK...
[D:]:                     ValidateAndroidSdkLocation: `C:\Program Files (x86)\Android\android-sdk`, result=True
[D:]:                     ValidateAndroidSdkLocation: `C:\Program Files (x86)\Android\android-sdk`, result=True
[D:]:                     TrackDeviceTask got: emulator-5554    offline
[I:]:                     Got new device list from adb with 1 devices

**编辑:**我已经找到了设备日志,感谢用户帐户控制窗口,当我在没有打开Android设备管理器窗口的情况下单击运行按钮时会弹出该窗口,并打开ADM。错误的来源显示在日志的相关部分:

[19-08-10 23:56:44.17] Executing command: "C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe" "-s" "emulator-5554" "shell" "getprop" "emu.uuid"
[19-08-10 23:56:44.21] C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe result: 
StandardError: error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
ExitCode: 1
pxq42qpu

pxq42qpu1#

我修好了!
我进入Android SDK管理器,卸载了所有的东西,所有的平台和工具。由于某种访问被拒绝的错误,它无法卸载“Android SDK Platform 28”,所以我重新启动,以为它会释放SDK进行卸载,但是我意识到为了卸载而启动VS会再次锁定它(我不想弄清楚Android SDK管理器的可执行文件是什么,如果不使用VS启动它),所以我进入VS安装程序并删除了整个“使用.NET进行移动的开发”类别,然后我重新安装了它。然后我进入Android SDK管理器,安装了Android模拟器29. 0. 11,它现在可以工作了。

svgewumm

svgewumm2#

我也有这个问题,删除设备并创建一个新的似乎解决了我的问题。我不确定这是否是一个永久性的修复,但它解决了我的问题,所以我想我会分享这个。你可以通过右键单击Android设备管理器中的设备并单击删除来实现。

fslejnso

fslejnso3#

解决方案如下:
Visual Studio -〉Tools -〉Get Tools and Features -〉Visual Studio Installer -〉Modify -〉Individual Components -〉向下滚动“SDK,库和框架”-〉选择Android SDK设置(API级别30)和(API级别25)-〉Modify。
View in screenshot

bmp9r5qi

bmp9r5qi4#

作为管理员启动Visual Studio为我解决了这个问题。
VS 2022 17.5.3 Xamarin17.5.0.173Xamarin.Android.SDK13.2.0.0

相关问题