将Xamarin.Forms Android应用程序迁移到AndroidX支持包

将Xamarin.Forms Android应用程序迁移到AndroidX支持包,xamarin.forms,xamarin.android,androidx,Xamarin.forms,Xamarin.android,Androidx,我有一个Xamarin.Forms Android项目,我正在尝试从旧的Android支持包迁移到AndroidX。迁移似乎是可行的,最后我不得不在编译过程中添加对AndroidX媒体包的引用 问题是,当我尝试实际运行应用程序时,会出现异常 System.InvalidCastException:“无法将类型为“Android.Widget.RelativeLayout”的实例转换为类型为“AndroidX.AppCompat.Widget.Toolbar”。 从Xamarin.Forms.Pl

我有一个Xamarin.Forms Android项目,我正在尝试从旧的Android支持包迁移到AndroidX。迁移似乎是可行的,最后我不得不在编译过程中添加对AndroidX媒体包的引用

问题是,当我尝试实际运行应用程序时,会出现异常

System.InvalidCastException:“无法将类型为“Android.Widget.RelativeLayout”的实例转换为类型为“AndroidX.AppCompat.Widget.Toolbar”。

Xamarin.Forms.Platform.Android.FormsAppCompativeActivity.OnCreate
。My
MainActivity
class子类
FormsAppCompatActivity
MainActivity
OnCreate
立即调用基
OnCreate
。VisualStudio说异常来自外部代码,所以它没有显示任何内容

my
MainActivity
中的
OnStart
OnResume
覆盖被调用并完成(这是配置正在使用的CrossCurrentActivity插件的唯一一行代码)


我不知道如何追踪这个问题。我怀疑问题出在我正在使用的一个软件包的某个地方,我的主要怀疑是
Xam.Plugin.Iconize
,因为它已经有一段时间没有更新了,但我们依赖它,我不确定如何证明问题出在哪里。

我最近迁移到AndroidX并发布了它应用程序。用户在启动时报告了很多崩溃。我仍然在想。奇怪的是,它在一些设备上运行良好,但在其他一些设备上崩溃

我注意到Android项目中的一些文件仍然引用旧的“Android支持”库。请确保手动将它们更改为AndroidX

检查Toolbar.xml和Tabbar.xml(Android proj>Resources>Layout)。我的应用程序中有这个,它仍然在使用Android.support.v7


我建议签入所有文件并在需要时手动更新。

我最近迁移到AndroidX并发布了该应用程序。用户在启动时报告了很多崩溃。我仍在想办法。奇怪的是,它在某些设备上运行良好,但在其他一些设备上崩溃

我注意到Android项目中的一些文件仍然引用旧的“Android支持”库。请确保手动将它们更改为AndroidX

检查Toolbar.xml和Tabbar.xml(Android proj>Resources>Layout)。我的应用程序中有这个,它仍然在使用Android.support.v7


我建议签入所有文件,并在需要时手动更新。

删除应用程序文件夹中的bin和obj文件夹。通过进入“设置和应用程序”从模拟器中删除实际应用程序,然后删除应用程序并重新部署。@LeonLu MSFT我做了所有这些,但仍然存在相同的问题。您可以共享演示链接吗?因为e我不能产生像你一样的错误。删除你的应用程序文件夹中的bin和obj文件夹。通过进入设置和应用程序,从模拟器中删除实际的应用程序,然后删除应用程序并重新部署。@LeonLu MSFT我做了所有这些,但仍然有相同的问题。你能共享一个演示链接吗?因为我不能产生像你一样的错误。嗨,di你解决了你的问题吗?我在某些Android设备上也遇到了一些问题。根据本指南,我们可以删除Toolbar.xml和Tabbar.xml文件?你尝试过吗?嗨,你解决了你的问题吗?我在某些Android设备上也遇到了一些问题。根据本指南,我们可以删除Toolbar.xml和Tabbar.xml文件?你没有吗这是干的吗?