无法更改Android Xamarin应用程序的目标框架

时间:2018-12-03 14:01:17

标签: android xamarin

我创建了一个空白的移动应用程序(Xamarin.Forms)应用程序。

enter image description here

默认情况下,此空应用程序的目标Android框架设置为版本8.1(Oreo)

enter image description here

我想将此版本更改为8.0版,该版本已安装并在工作站上可用。

enter image description here

但是,当我选择8.0版本并且Visual Studio重新编译该项目时,我会遇到很多错误。

enter image description here

  

错误NU1202软件包Xamarin.Android.Support.Design 27.0.2.1不是   与monoandroid80兼容(MonoAndroid,Version = v8.0)。包   Xamarin.Android.Support.Design 27.0.2.1支持:monoandroid81   (MonoAndroid,Version = v8.1)

那么,好的。我打开了NuGet Manager,并尝试更新(降级)相应组件的版本。

enter image description here

但是,当我尝试使用现有较高版本重新安装较低版本的组件时,会收到相同的错误消息。而且,对于要降级的每个组件,我都会收到这些消息。

问题:如何更改Android Xamarin应用程序的目标框架版本,它最终将起作用?


更新

我试图从解决方案的Android Xamarin项目中删除MonoAndroid参考,并手动将参考添加到较低版本中。

enter image description here

但是,当我单击对话框上的“确定”时,已添加了MonoAndroid参考版本8(而不是版本7)。

enter image description here

1 个答案:

答案 0 :(得分:1)

如果确实需要使用8.0而不是8.1,则需要删除Xamarin.Android.Support软件包的所有27.xx版本,并安装26.1.0.1版本,因为27.xx系列是与Android版本<8.1不兼容。

但是为什么需要使用Android 8.0进行定位/编译?通常,您要编译并定位最新的可用版本。然后,您可以在项目属性的Android清单“最小Android版本”属性中设置要支持的最低Android版本。或清单中原始XML中的此条目:

<uses-sdk android:minSdkVersion="21" /> 

其中“ 21”是您要支持的最低版本的API编号。只要确保您没有使用仅在Android版本>设置的最低版本中可用的任何类型/方法/等即可。如果这样做,您的应用程序将在所有大于等于最低版本集的Android版本上运行。因此,也许您只需要设置最低版本,而不需要设置“使用...编译”和/或“目标” Android版本?