Android支持库是每个Android应用程序中必不可少的一部分,你会发现它们无处不在。支持库为开发人员提供了将Android的最新和最强大功能添加到应用程序的能力,同时保持与旧版本Android的向后兼容性。随着Android SDK的新版本不断推出,对支持库的更新也随之展开;保持最新版本并安装正确的版本是Android开发的一个重要(有时令人沮丧)的一部分。在这个博客,我希望他们揭秘支持库,帮助您升级到最新版本

版本控制

首先要明白的是如何支持库版本。我们在几个星期前与Jon Dick在Xamarin博客 讨论这个话题,但是这里有一个快速的崩溃:每一个支持库NuGet有语义的版本号(大,小,补丁)与他们同行的java版本,因此,您可以通过查看修订历史修订历史来查看每个版本中的内容。 有时你会在结尾看到一个额外的第四个补丁来标记着在NuGet上修改了这个Bug。 就像这个博客,Xamarin开发者能够访问的NuGet最新版本是25.3.1。最重要的数字是主要版本号25。这个数字意味着这是对Android SDK API级别25建成意味着安装NuGet和正确使用它,你必须选择API 25或者更高版本来重新在Visual Studio中编译, 否则,您可能会看到这个错误:

Could not install package ‘Xamarin.Android.Support.Compat 25.3.1’. You are trying to install this package into a project that targets ‘MonoAndroid,Version=v7.0’, but the package does not contain any assembly references or content files that are compatible with that framework.

更新支持库

现在我们安装了全部版本的支持库,我们能够将我们的自问库更新到最新版本。在这一点上,您可能想知道为什么需要更新库。随着时间的推移,支持库增加了新特性,但也提供应用程序需要的几个bug修复。此外,你可能依赖于其他支持库如谷歌播放服务或Xamarin插件,可能是针对最新的支持包创建的。 事实上,认识到现在是更新的时候了,我最近更新了我所有的插件到目标.NET标准和最新的支持库中。

步骤1:安装Android SDK 25

能够像上面显示的那样使用API 25重新编译,你需要安装API 25 Android SDK。在Android SDK管理器,通过菜单 Tools->Android->Android SDK Manager… ,我找到SDK Manager并更新到API 25。要做的第一件事情是确认你“取消所有选择”并且在Andorid 7.1.1下找到SDK Platform 25。你需要安装一个包。(如果你使用的是Visual Studio for Mac,请阅读我们提供的最新的SDK管理器)。

安装后,我们需要选择这个SDK重新编译:

此外,最好的做法是将目标设置为与编译版本相同的版本。

在这一点上,强烈建议关闭并重新打开解决方案。这将确保你所有的设置同步准备NuGet踢到行动。升级时,您会看到一个错误,如果您没有正确设置编译目标,并且没有发挥作用,那么您不会针对Android的正确版本。

步骤2:更新NuGets

现在是时候更新的支持NuGets。更新您安装的所有支持库非常重要。如果不这样做,将导致不匹配的版本和编译错误。右键单击Android项目并且选择“Manage NuGet Packages…” ,在更新选项卡中,您将看到一个支持库的目标列表。只需选择所有包并点击“Update”。

这将确保所有NuGets和依赖关系得到更新。可能会提示您关闭并重新启动VisualStudio;确保您这样做,从而使项目得到完全更新。

如果你使用Visual Studio的Mac,你会看到在你项目的包结NuGets更新。您可以一次更新一个或右键单击包节点并更新所有。


更新后,我总是想重新检查所有的包已经通过关闭解决方案更新,并再次打开它,重复步骤2。完成此操作后,请确保完成了完整的清理工作,然后完成了项目的重新编译工作。


你有它,你的支持库是最新的和准备工作吧!

视频演练

想在行动中看到它吗?请观看下面的视频并亲手动手练习: