我正在尝试学习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
4条答案
按热度按时间pxq42qpu1#
我修好了!
我进入Android SDK管理器,卸载了所有的东西,所有的平台和工具。由于某种访问被拒绝的错误,它无法卸载“Android SDK Platform 28”,所以我重新启动,以为它会释放SDK进行卸载,但是我意识到为了卸载而启动VS会再次锁定它(我不想弄清楚Android SDK管理器的可执行文件是什么,如果不使用VS启动它),所以我进入VS安装程序并删除了整个“使用.NET进行移动的开发”类别,然后我重新安装了它。然后我进入Android SDK管理器,安装了Android模拟器29. 0. 11,它现在可以工作了。
svgewumm2#
我也有这个问题,删除设备并创建一个新的似乎解决了我的问题。我不确定这是否是一个永久性的修复,但它解决了我的问题,所以我想我会分享这个。你可以通过右键单击Android设备管理器中的设备并单击删除来实现。
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
bmp9r5qi4#
作为管理员启动Visual Studio为我解决了这个问题。
VS 2022 17.5.3 Xamarin17.5.0.173Xamarin.Android.SDK13.2.0.0