繁体   English   中英

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

[英]Cannot debug Xamarin app in Visual Studio Android emulator

我正在尝试学习 Xamarin,但我的设置发生了一些问题,我无法再通过单击“调试/运行”按钮在模拟器中打开我的应用程序。 它所做的只是打开或激活(如果它已经打开)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 上。

在我启动 VS 后,Xamarin 诊断窗口看起来像这样,单击运行,Android 设备管理器打开并显示创建新模拟器对话框,我取消该对话框并运行我已经创建的模拟器,等待它启动,然后单击再次运行,这只会使 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

我修好了它!

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

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

这是解决方案:

Visual Studio -> 工具 -> 获取工具和功能 -> Visual Studio 安装程序 -> 修改 -> 单个组件 -> 向下滚动“SDK、库和框架” -> 选择 Android SDK 设置(API 级别 30)和(API级别 25) -> 修改。

在屏幕截图中查看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM