调试时 Mono.AndroidTools.InstallFailedException

Posted

技术标签:

【中文标题】调试时 Mono.AndroidTools.InstallFailedException【英文标题】:Mono.AndroidTools.InstallFailedException while debugging 【发布时间】:2019-12-22 21:01:17 【问题描述】:

我在 Xamarin 表单 A 和 B 中有两个项目,项目 B 只是 A 的白标版本。我还从 B 更改了所有与项目 A 相关的依赖项。一切正常,但突然之间我收到此错误,即两个应用程序中的提供程序名称相同,我不确定是什么原因造成的,因为直到上周才有效。

Mono.androidTools.InstallFailedException:失败 [INSTALL_FAILED_CONFLICTING_PROVIDER:无法在 /data/app/com.package.projb-Dr18A_raYrGiEXYa1lZU9g== 中安装包:无法安装,因为提供程序名称 Dollar_openBracket_applicationId_closeBracket(在包 com.package. a) 已被 com.package.proja 使用]

在 Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(String output, String packageName) in E:\A_work\579\s\External\androidtools\Mono.AndroidTools\Internal\AdbOutputParsing.cs:341 行

在 Mono.AndroidTools.AndroidDevice.c__DisplayClass95_0.b__0(Task`1 t) 在 E:\A_work\579\s\External\androidtools\Mono.AndroidTools\AndroidDevice.cs:753 行

在 System.Threading.Tasks.ContinuationTaskFromResultTask`1.InnerInvoke()

在 System.Threading.Tasks.Task.Execute() ADB0010:失败 [INSTALL_FAILED_CONFLICTING_PROVIDER:无法在 /data/app/com.package.projb-Dr18A_raYrGiEXYa1lZU9g== 中安装包.package.proja]

在 Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(String output, String packageName) in E:\A_work\579\s\External\androidtools\Mono.AndroidTools\Internal\AdbOutputParsing.cs:341 行

在 Mono.AndroidTools.AndroidDevice.c__DisplayClass95_0.b__0(Task`1 t) 在 E:\A_work\579\s\External\androidtools\Mono.AndroidTools\AndroidDevice.cs:753 行

在 System.Threading.Tasks.ContinuationTaskFromResultTask`1.InnerInvoke()

在 System.Threading.Tasks.Task.Execute()

已完成构建项目“ProjectA.Droid.csproj”——失败。

构建失败。

三星 SM-G610F 部署失败。

我已经尝试了以下方法,但没有解决我的问题

Mono.AndroidTools.InstallFailedException: Failure

deploy fail Error: Mono.AndroidTools.InstallFailedException: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

【问题讨论】:

【参考方案1】:

从您的错误中,我们可以推断您应该在您的应用程序或您的应用程序引用的某个特殊库中使用了ContentProvider

android:authorities 中列出的权限必须是唯一的。引用the documentation for this attribute:

为避免冲突,权限名称应使用 Java 风格的命名 约定(例如 com.example.provider.cartoonprovider)。通常, 它是实现的 ContentProvider 子类的名称 提供者

【讨论】:

嗯,问题是这些名称一直是独一无二的,即使现在也是如此,但由于某种奇怪的原因,我仍然面临这个问题。顺便说一句,我知道这一点。 能否分享一个基本的演示,以便我们进行测试?【参考方案2】:

这个问题是我添加 Firebase Crashlytics 后由 Visual Studio 2017 引起的!

在阅读了几个线程后,我意识到这不是 Xamarin 错误,而且是由 Visual Studio 引起的,我不确定究竟是什么原因造成的,但是, 下载最新版本的VS17或VS19后,我就解决了这个bug!

如果您有任何问题,请随时回复。

【讨论】:

以上是关于调试时 Mono.AndroidTools.InstallFailedException的主要内容,如果未能解决你的问题,请参考以下文章

Webstorm远程调试+调试时编辑本地javascript文件

Visual Studio Code Chrome 调试器 - 开始调试时出错

VS2015 调试时 编辑并继续不可用

Eclipse 调试:远程调试时找不到源

C ++添加仅在调试时运行的调试代码

WinDbg调试器:启动程序时自动连接调试器方法