我正在尝试学习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
答案 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,它现在可以正常工作。