【问题标题】:Xamarin android Manifest being replaced on build. only solution seems to be to repair visual studioXamarin android Manifest 在构建时被替换。唯一的解决方案似乎是修复视觉工作室
【发布时间】:2020-07-28 04:23:07
【问题描述】:

我不太确定这是怎么回事...这从几个月前开始,每隔一段时间我就会收到 apk install failed 错误,当我解压缩我构建的 apk 并查看 android manifest 时,我的被替换为 android manifest来自我正在测试的一个示例串行端口库。这个问题已经变得恒定到每 3 次构建左右我必须使用 Visual Studio 安装程序来修复 Visual Studio。清理解决方案并不能修复它,也不能删除我的本地 Visual Studio 文件或 bin/obj 文件夹。我已经将我的解决方案克隆到了我的个人桌面上,它构建得很好,并且从未出现过这些问题,所以我相信它是特定于环境的。如果有人遇到类似问题或有任何建议,我将不胜感激。

【问题讨论】:

  • 我今天将尝试完全卸载并重新安装 Visual Studio。如果有帮助,我会更新这篇文章。
  • 完全卸载并稍后重新安装,并且在 1 次构建后弹出问题...我要进行快速修复,然后尝试新设备,也许是它从设备上拉下来的东西。

标签: android xamarin visual-studio-2019


【解决方案1】:

对于 Xamarin.Android,一些 AndroidManifest.xml 文件是在构建时生成的。

所有具有[Application][Activity][Service] 属性的类型及其额外内容(如[IntentFilter][MetaData])都将在构建时添加到清单中。

您可以通过将Properties/AndroidManifest.xml 与通常可以在obj/Debug/Android 文件夹中找到的生成比较来验证这一点。您应该会看到您的活动已添加到那里。

如果您使用 Xamarin.Android.ManifestMerger 包,Android 库中的其他内容也可能会添加到清单中

【讨论】:

  • 这听起来很奇怪。检查您的 csproj 文件,也许您不小心以某种方式从该项目中链接了 AndroidManifest,它正在覆盖您应用中的那个
  • 抱歉,我查看了错误的文件。当我进行构建和部署时,这实际上非常有趣,生成的 android 清单与串行端口库完全匹配,但是 obj/debug/android 内部的 android 清单与我的应用程序匹配并且似乎是正确的。我将开始研究它在生成和部署之间发生变化的地方。
【解决方案2】:

我发现了问题!如果您有绑定的 jar,最新的非预览版 xamarin android 将执行此操作。这是 github 问题的链接,这应该在将来的版本中修复,现在我正在更新到预览视觉工作室。 https://github.com/xamarin/xamarin-android/issues/4804

【讨论】:

  • 感谢分享。不要忘记接受答案。
  • @Wendy Zang - MSFT 我不能等到明天,但一旦有空我会的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-12
相关资源
最近更新 更多