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

问题描述 投票:0回答:1

我有一个Xamarin.Forms Android项目,我是否正在尝试从旧的Android支持包迁移到AndroidX。迁移似乎可以正常工作,我最终不得不在编译期间添加对AndroidX媒体包的引用。

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

System.InvalidCastException: 'Unable to convert instance of type 'Android.Widget.RelativeLayout' to type 'AndroidX.AppCompat.Widget.Toolbar'.'

来自Xamarin.Forms.Platform.Android.FormsAppCompatActivity.OnCreate。我的MainActivity类的子类FormsAppCompatActivityMainActivityOnCreate立即调用基数OnCreate。 Visual Studio表示该异常来自外部代码,因此它没有显示任何内容。

我的OnStart中的OnResumeMainActivity覆盖被调用并完成正常(仅使用一行代码配置所使用的CrossCurrentActivity插件。

我对如何找到问题一无所知。我怀疑问题出在我正在使用的软件包之一中,我主要怀疑是Xam.Plugin.Iconize,因为它已经有一段时间没有更新了,但是我们依靠它,我不确定如何证明问题出在哪里。

xamarin.forms xamarin.android androidx
1个回答
0
投票

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

[我注意到Android项目中的一些文件仍然引用旧的'Android Support'库。确保手动将其更改为AndroidX。

检查Toolbar.xml和Tabbar.xml(Android项目>资源>布局)。我在我的应用中使用了此应用,该应用仍在使用android.support.v7 ......

enter image description here

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

© www.soinside.com 2019 - 2024. All rights reserved.