无法将Visual Studio Mac部署到Android模拟器

问题描述

尝试将Xamarin Android应用程序部署到Mac上运行的仿真器失败,并显示错误部署失败”以及Mono.AndroidTools.AdbException: secure_mkdirs Failed: Permission denied

更新:该模拟器由Android Studio启动。当我尝试从Visual Studio Mac启动模拟器时,出现错误

PANIC: broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/myname/Library/Developer/Xamarin/android-sdk-macosx]!

以下是部署到设备面板中有关错误开始显示位置的摘录

...
Synchronizing assemblies
    Synchronizing assemblies...
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000:  Deployment Failed
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000: Xamarin.AndroidTools.AndroidDeploymentException: FailedToSynchronizefastDevAssemblies ---> Mono.AndroidTools.AdbException: secure_mkdirs Failed: Permission denied
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000:   at Mono.AndroidTools.Util.AggregateAsyncResult.Checkerror (System.Threading.CancellationToken token) [0x0002a] in /Users/builder/azdo/_work/287/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Mono.AndroidTools/Util/AggregateAsyncResult.cs:72 
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000:   at Mono.AndroidTools.Adb.AdbSyncclient.EndPushSyncItems (System.IAsyncResult result) [0x00006] in /Users/builder/azdo/_work/287/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Mono.AndroidTools/Adb/AdbSyncclient.cs:1071 
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000:   at Mono.AndroidTools.Internal.AdbClientTaskExtensions.InnerInvoke (System.Threading.Tasks.taskcompletionsource`1[TResult] tcs,System.Func`2[T,TResult] endMethod,System.IAsyncResult l) [0x00000] in /Users/builder/azdo/_work/287/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Mono.AndroidTools/Internal/AdbClientTaskExtensions.cs:256 
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000: --- End of stack trace from prevIoUs location where exception was thrown ---
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000: 
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000:   at Xamarin.AndroidTools.AndroidDeploySession.InstallAssemblies (System.String destinationPath,System.Threading.CancellationToken token) [0x00339] in /Users/builder/azdo/_work/287/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Xamarin.AndroidTools/Sessions/AndroidDeploySession.cs:614 
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000:    --- End of inner exception stack trace ---
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,System.Threading.CancellationToken token) [0x003b5] in /Users/builder/azdo/_work/287/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Xamarin.AndroidTools/Sessions/AndroidDeploySession.cs:622 
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000:   at Xamarin.AndroidTools.AndroidDeploySession.FastDevAsync (System.Boolean useExternal) [0x000da] in /Users/builder/azdo/_work/287/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Xamarin.AndroidTools/Sessions/AndroidDeploySession.cs:514 
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000:   at Xamarin.AndroidTools.AndroidDeploySession.RunAsync (System.Threading.CancellationToken token) [0x004b0] in /Users/builder/azdo/_work/287/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Xamarin.AndroidTools/Sessions/AndroidDeploySession.cs:229 
        /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.Debugging.targets(618,2): error ADB1000:   at Xamarin.AndroidTools.AndroidDeploySession.RunLoggedAsync (System.Threading.CancellationToken token) [0x0002f] in /Users/builder/azdo/_work/287/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Xamarin.AndroidTools/Sessions/AndroidDeploySession.cs:123 
    Done building target "_Upload" in project "xamarinwrapper.csproj" -- Failed.
    
    Done building project "xamarinwrapper.csproj" -- Failed.
    
    Build Failed.
    ...

enter image description here

解决方法

好吧,我重新安装了Visual Studio for Mac,并使用Visual Studio设备管理器创建了一个新的模拟器,从Visual Studio设备管理器中启动了该模拟器,并且现在可以正常使用了。