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

时间:2019-06-30 17:25:09

标签: android visual-studio xamarin

我正在尝试学习Xamarin,但是我的设置发生了问题,并且我无法再通过单击Debug / Run按钮在模拟器中打开我的应用程序。它所做的全部就是打开或激活Android设备管理器(如果已经打开)。

Visual Studio输出窗口(构建)状态:

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命令提示符中尝试了该命令,并且已经手动启动了admin命令提示符,并尝试终止并重新启动adbd。我已经尝试过使用'adb keygen'重新生成密钥,但是我什么都没有效果。

我在Windows 10上。

启动VS后,单击“运行”,Android设备管理器随即打开,并显示“创建新的仿真器”对话框,然后取消运行我已经创建的仿真器,等待其启动,然后Xamarin Diagnostics窗口如下所示:然后我再次单击“运行”,这将使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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我修复了!

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