在 Android 的发布模式下编译时出现 Xamarin Forms 错误 - 找不到与给定名称“Base.V21.Widget.Design.AppBarLayout”匹配的资源
Posted
技术标签:
【中文标题】在 Android 的发布模式下编译时出现 Xamarin Forms 错误 - 找不到与给定名称“Base.V21.Widget.Design.AppBarLayout”匹配的资源【英文标题】:Xamarin Forms error when compiling in release mode for Android - No resource found that matches the given name 'Base.V21.Widget.Design.AppBarLayout' 【发布时间】:2019-01-02 18:25:35 【问题描述】:当我尝试在发布模式下编译以将我的应用程序放入 android App Store 时,我收到以下错误。当我为调试模式编译时,我没有收到错误。
我发现了对类似错误的引用。它们似乎围绕着与 Android SDK 不匹配的 android 支持服务。我在 Android 28 SDK 上运行。我已将我的谷歌支持库更新为 NuGet 中的 v28.0.0。我在macosx中运行,正在使用vs mac。
我在这个问题上很茫然。任何建议表示赞赏。
TIA
...../obj/Release/lp/40/jl/res/values-v26/values-v26.xml(0,0):错误 APT0000:检索项目的父项时出错:未找到匹配的资源给定名称“Base.V21.Widget.Design.AppBarLayout”。 (APT0000)....
【问题讨论】:
仅供参考,我之前启用了 proguard。我已经禁用它,同样的结果。所以,proguard 跟什么都没有关系。 仅供参考,我能够在 Windows 上成功编译。我在我的 Mac 上,如果可能的话,我想从这里编译并上传到 Play 商店。 试试这个。转到您的 Android 项目的属性 > 构建 > 常规 > 使用 Android 版本编译:(目标框架):将其设置为 Android 的最高版本。如果失败,请尝试清理、恢复 Nuget 包并重建您的项目。这也发生在我身上,这些建议(通常)有效。 感谢@iamlawrencev。这并没有解决问题,但我终于解决了。 【参考方案1】:好的,我不确定我是否已经完全“解决”了这个问题,但我至少目前已经解决了。我不断挖掘输出,在构建输出的自定义 proguard.cfg 信息中发现了一个有趣的字符。我打开了我在 notepadd++ 中创建的 proguard.cfg 文件。果然,notepadd++ 设置为使用“UTF-8 with BOM”设置进行编码。我改变了,重新保存,重建,没有错误。我会密切注意这一点,但目前的问题已经解决。感谢大家的意见。非常感谢。 :-)
【讨论】:
以上是关于在 Android 的发布模式下编译时出现 Xamarin Forms 错误 - 找不到与给定名称“Base.V21.Widget.Design.AppBarLayout”匹配的资源的主要内容,如果未能解决你的问题,请参考以下文章
在 mingw 下编译时出现 PathFindFileName 错误