微软正式发布Xamarin AndroidX组件,并提供多项搬迁解决方案

微软在NuGet发布了Xamarin AndroidX组件正式版,当应用程序中没有使用Android向后兼容支持函数库(Support Library)命名空间,就可以便用这个最新发布的组件进行开发。其他还使用Android向后兼容支持函数库命名空间的应用程序,微软也对不同状态提供相对应的解决方案。

由于Android向后兼容支持函数库(Support Library)版本太多,随着函数库复杂性增加,函数库的命名约定也越来越不一致,原本所有函数库都遵循特定的命名规则,这个约定的规则标示了最小SDK版本(minSdkVersion),开发者的项目必需要大于或是等于最小SDK版本才能使用,像是v7 appcompat则表示,该支持函数库将向后兼容到Android API 7。

但随着函数库和组件的发展,版本号混乱已经对开发者造成困扰,像是组件和组件命名带有v7字样,但是其支持最小SDK等级却可能为14。为了消除这种混乱,Android将向后兼容支持函数库重构成新的扩展函数库AndroidX,除了简化组件名称外,也能更清楚地标示组件内容和支持的API等级。

为因应Google这项变动,微软也在去年中,于NuGets向Xamarin开发者发布AndroidX组件预览版,而现在这个组件已经成熟,进入正式版本的阶段。微软表示,要将Android项目转移到AndroidX上是个大工程,因此微软也根据处于不同状态的应用程序,提供开发者不同的搬迁做法。

微软提到,只要应用程序包含Android向后兼容支持函数库的命名空间,就需要进行搬迁改使用AndroidX命名空间。此时开发者可以使用IDE工具处理大部分的命名空间场景,在Visual Studio 2019的16.5+预览版中内置AndroidX搬迁工具,开发者需要手动在选项中激活,之后便能在项目点击右键,在菜单找到搬迁至AndroidX的选项,开始项目搬迁程序。微软提醒,还是会有部分案例搬迁工具无法处理,因此开发者必需要手动更改一些命名空间。

另外,当应用程序存在未搬迁的相依项目,则可以选用Android向后兼容支持函数库搬迁组件处理,而当开发者的应用程序,不需要对任何的相依项目执行AndroidX命名空间搬迁工作,便可以使用微软现在发布的AndroidX函数库。

微软提到,大部分组件都已经升级支持Android 10与更高版本的AndroidX,从Xamarin.Forms 4.5开始,AndroidX会取代Android向后兼容支持函数库,之后也会将Xamarin .Essentials搬迁到AndroidX上。