You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

首次运行Xamarin Android项目成功,二次部署遇ADB1000错误

解决Xamarin Android项目二次部署ADB1000只读文件系统错误

场景:首次运行基于Xamarin的Android项目成功,但第二次运行时遇到如下错误:

严重性 代码 描述 项目 文件 行 禁止显示状态
错误 ADB1000: Deployment failed
Xamarin.AndroidTools.AndroidDeploymentException: FailedToSynchronizeFastDevAssemblies ---> Mono.AndroidTools.AdbException: Read-only file system
在 Mono.AndroidTools.Util.AggregateAsyncResult.CheckError(CancellationToken token) 位置 C:\A\vs2019mb-000030-1\_work\21\s\External\androidtools\Mono.AndroidTools\Util\AggregateAsyncResult.cs:行 72
在 Mono.AndroidTools.Adb.AdbSyncClient.EndPushSyncItems(IAsyncResult result) 位置 C:\A\vs2019mb-000030-1\_work\21\s\External\androidtools\Mono.AndroidTools\Adb\AdbSyncClient.cs:行 1071
在 Mono.AndroidTools.Internal.AdbClientTaskExtensions.InnerInvoke(TaskCompletionSource`1 tcs, Func`2 endMethod, IAsyncResult l) 位置 C:\A\vs2019mb-000030-1\_work\21\s\External\androidtools\Mono.AndroidTools\Internal\AdbClientTaskExtensions.cs:行 255
--- 引发异常的上一位置中堆栈跟踪的结尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 Xamarin.AndroidTools.AndroidDeploySession.<InstallAssemblies>d__117.MoveNext() 位置 C:\A\vs2019mb-000030-1\_work\21\s\External\androidtools\Xamarin.AndroidTools\Sessions\AndroidDeploySession.cs:行 578
--- 内部异常堆栈跟踪的结尾 ---
在 Xamarin.AndroidTools.AndroidDeploySession.<InstallAssemblies>d__117.MoveNext() 位置 C:\A\vs2019mb-000030-1\_work\21\s\External\androidtools\Xamarin.AndroidTools\Sessions\AndroidDeploySession.cs:行 586
--- 引发异常的上一位置中堆栈跟踪的结尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 Xamarin.AndroidTools.AndroidDeploySession.<FastDevAsync>d__114.MoveNext() 位置 C:\A\vs2019mb-000030-1\_work\21\s\External\androidtools\Xamarin.AndroidTools\Sessions\AndroidDeploySession.cs:行 478
--- 引发异常的上一位置中堆栈跟踪的结尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 Xamarin.AndroidTools.AndroidDeploySession.<RunAsync>d__106.MoveNext() 位置 C:\A\vs2019mb-000030-1\_work\21\s\External\androidtools\Xamarin.AndroidTools\Sessions\AndroidDeploySession.cs:行 225
--- 引发异常的上一位置中堆栈跟踪的结尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 Xamarin.AndroidTools.AndroidDeploySession.<RunLoggedAsync>d__104.MoveNext() 位置 C:\A\vs2019mb-000030-1\_work\21\s\External\androidtools\Xamarin.AndroidTools\Sessions\AndroidDeploySession.cs:行 119 0

我之前踩过一模一样的坑,这问题核心是Xamarin的快速部署(Fast Deployment)在同步程序集时,遇到了设备/模拟器存储只读的权限问题。给你几个亲测有效的解决步骤,按顺序试大概率能搞定:

  • 关闭快速部署
    报错里明确提到了FailedToSynchronizeFastDevAssemblies,直接关掉这个功能就能绕开问题。操作:右键你的Xamarin Android项目 → 选择属性 → 切换到Android选项 → 取消勾选“启用快速部署(适用于调试)”。之后先执行Build → Clean Solution清理项目,再重新部署。

  • 重置ADB连接
    有时候ADB和设备的连接状态异常会导致存储权限错乱。打开命令提示符,依次运行:

    adb kill-server
    adb start-server
    

    运行完重启你的模拟器或物理设备,再试部署。

  • 修复设备/模拟器存储状态

    • 物理设备:检查USB连接模式,别用“仅充电”,改成“文件传输”模式,确保设备存储能正常读写。
    • 模拟器:打开模拟器设置,找到恢复出厂设置(或Wipe Data)选项,重置存储状态后再部署。
  • 清理编译缓存
    手动删掉项目目录下的obj和bin文件夹,然后在Visual Studio里选Build → Rebuild Solution重新生成,避免旧缓存文件引发冲突。

内容的提问来源于stack exchange,提问作者david allson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:28:17