通过标准模板与棱镜模板创建Xamarin时的资源错误



昨天下午,我使用标准空白模板创建了一个Xamarin表单项目。

当我尝试将项目部署到Android模拟器运行4.4版时,会抛出以下例外:

Android.Content.Res.Resources+NotFoundException: 'File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f070059'

这发生在Android Project中MainActivity.cs中的代码base.OnCreate(savedInstanceState);线上。

论坛帖子(此处(似乎表明这是由不支持(较旧的(Android造成的。这似乎是合理的,因为如果我在以后的版本上运行该应用程序,它将起作用。我的理解是4.4仍然得到支持,因此我不确定问题是什么。我在此论坛帖子上发表了评论,但不确定是否有人会看到它已被标记为解决。

我用棱镜标签标记了这个问题,但这不是棱镜问题。我认为也许来自Prism领域的某人可能能够告诉我,因为Prism模板正在起作用。

经过一些研究,我发现Xamarin中列出了一个知道的问题。Andorid版本注:

github 3314:" Java.Lang.Exception: android.content.res.Resources$NotFoundException: File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f080058"将在 android 4.4 Kitkat(API级别19(或使用AAPT2构建的应用Android Support Support库的应用程序上中止应用程序执行。

解决方案:

--no-version-vectors选项添加到.csproj文件中的$(AndroidAapt2LinkExtraArgs) msbuild属性:

xml

<PropertyGroup>
    <AndroidAapt2LinkExtraArgs>--no-version-vectors</AndroidAapt2LinkExtraArgs>
</PropertyGroup>

然后清洁并重建项目。

按照GitHub线程或新版本注释检查此问题的过程:Xamarin/Xamarin-android/pull

最新更新