Xamarin支持库在24.2.1到25.0.1-RC1更新后,Android崩溃在App启动上



我最近将Xamarin Android应用程序从Xamarin.Android.Support.* 24.2.1更新为Xamarin.Android.Support.* 25.0.1-rc1,并且在应用程序启动时,我会得到以下崩溃(100%次):

java.interop.jnienvironmentfile res/drawable/abc_vector_test.xml 来自 可绘制的资源ID#0x7F020052 RAW system.runtime.exceptionservices.exceptiondispatchinfo.throw() java.interop.jnienvironment.instancemethods.callnonvirtualbooleanmethod(jniobjectReference 实例,jniobjectReference类型,jnimethodinfo方法, jniargumentValue* args)< 554948e16e364ff9b0647fa258ff9398>:0 android.runtime.jnienv.callnonvirtualbooleanmethod(intptr jobject, INTPTR JCLASS,INTPTR JMETHOD,JVALUE* parms)< 06feabe0ae89449c881f9479237416ed>:0 android.support.v7.App.AppCompatactivity.SupportrequestWindowFeature(int featureID)< 2653bed97fbe416083d2f0e662e3d9c0>:0

我不使用res/drawable/abc_vector_test.xml资源,所以不确定这是什么崩溃。

我在这里添加我的软件包配置:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.Bcl" version="1.1.10" targetFramework="MonoAndroid60" />
  <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="MonoAndroid60" />
  <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="MonoAndroid60" />
  <package id="modernhttpclient" version="2.4.2" targetFramework="MonoAndroid60" />
  <package id="MvvmCross" version="4.4.0" targetFramework="monoandroid70" />
  <package id="MvvmCross.Binding" version="4.4.0" targetFramework="monoandroid70" />
  <package id="MvvmCross.Core" version="4.4.0" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Shared" version="4.4.0" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Support.Core.UI" version="4.4.0" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Support.Core.Utils" version="4.4.1" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Support.Fragment" version="4.4.0" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Support.V4" version="4.4.1" targetFramework="monoandroid70" />
  <package id="MvvmCross.Droid.Support.V7.AppCompat" version="4.4.0" targetFramework="monoandroid70" />
  <package id="MvvmCross.Platform" version="4.4.0" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="25.0.1-rc1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Compat" version="25.0.1-rc1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Core.UI" version="25.0.1-rc1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Core.Utils" version="25.0.1-rc1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Fragment" version="25.0.1-rc1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Media.Compat" version="25.0.1-rc1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.v4" version="25.0.1-rc1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.v7.AppCompat" version="25.0.1-rc1" targetFramework="monoandroid70" />
  <package id="Xamarin.Android.Support.Vector.Drawable" version="25.0.1-rc1" targetFramework="monoandroid70" />
  <package id="Xamarin.Build.Download" version="0.3.0" targetFramework="monoandroid70" />
  <package id="Xamarin.GooglePlayServices.Analytics" version="32.961.0" targetFramework="monoandroid70" />
  <package id="Xamarin.GooglePlayServices.Analytics.Impl" version="32.961.0" targetFramework="monoandroid70" />
  <package id="Xamarin.GooglePlayServices.Base" version="32.961.0" targetFramework="monoandroid70" />
  <package id="Xamarin.GooglePlayServices.Basement" version="32.961.0" targetFramework="monoandroid70" />
  <package id="Xamarin.GooglePlayServices.Location" version="32.961.0" targetFramework="monoandroid70" />
  <package id="Xamarin.GooglePlayServices.Maps" version="32.961.0" targetFramework="monoandroid70" />
  <package id="Xamarin.GooglePlayServices.Tasks" version="32.961.0" targetFramework="monoandroid70" />
  <package id="Xamarin.Insights" version="1.12.3" targetFramework="MonoAndroid60" />
</packages>

25.0.1-rc1滚动到24.2.1可以解决这个问题,但我担心将来的兼容性只要25在RC中。

请确保在应用程序初始化中设置一次:

AppCompatDelegate.CompatVectorFromResourcesEnabled = true;

最新更新