xamarin.android - 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]!
以下是Deploying To Device pad的摘录,关于错误开始显示的位置
...
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,2): error ADB1000: at Xamarin.AndroidTools.AndroidDeploySession.InstallAssemblies (System.String destinationPath, 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.
...
解决方案
好吧,我重新安装了 Visual Studio for Mac,并使用 Visual Studio 设备管理器创建了一个新的模拟器,从 Visual Studio 设备管理器启动了模拟器,它现在可以工作了。
推荐阅读
- windows - 如何为指向特定 firebird 数据库存档的应用程序创建快捷方式?
- django-rest-framework - ListCreateAPIView Django 休息框架方法 \"POST\" 不允许
- python - 如何根据两列的最大值拆分数组
- javascript - 从渲染器迁移到渲染器2
- linux - 如何阻止“是”命令重复其他命令?
- c# - Microsoft Azure 中托管的 .NET CORE API 应用程序超时异常(Redis 缓存、SQL、.NET Core)
- apache-spark - Simba Spark JDBC 驱动程序 - DatabaseMetaData.getColumns() 不起作用
- python - 熊猫数据帧中时间戳之间的时间差作为直方图
- maven - 故障安全错误:使用阴影插件时“清单主要属性的签名文件摘要无效”
- delphi - Delphi TCriticalSection Acquire vs Enter - 有什么区别?