我正在尝试学习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。
当我启动 VS、点击 Run 后,Android 设备管理器打开创建新模拟器对话框,我取消后运行已经创建的模拟器,等待它启动后再次点击 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