Saa*_*mer 1 android xamarin.android mvvmcross xamarin
我正在帮助的大型项目之一,使用 MvvmCross v5.2.1。当我们针对框架Android 10.0 (API Level 29) (Q) 时,只要OnCreate()生命周期函数MainActivity运行,就发生异常崩溃SetContentView(Resource.Layout.activity_main)。
部分异常读取
java.lang.NoSuchFieldException: No field mConstructorArgs in class Landroid/view/LayoutInflater; (declaration of 'android.view.LayoutInflater' appears in /system/framework/framework.jar!classes3.dex)
at java.lang.Class.getDeclaredField(Native Method)
at mvvmcross.binding.droid.views.MvxLayoutInflater_PrivateFactoryWrapper2.n_onCreateView(Native Method)
at mvvmcross.binding.droid.views.MvxLayoutInflater_PrivateFactoryWrapper2.onCreateView(MvxLayoutInflater_PrivateFactoryWrapper2.java:32)
at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:239)
at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1069)
Run Code Online (Sandbox Code Playgroud)
这是此pastebin 中更详细的日志。
它似乎与MvvmCross 存储库上的这个 Github 问题相同:我遵循了这个拉取请求的链接。
这是否意味着在 v6.4.1 之前使用 #MVVMCross 的任何人,如果他们想要针对框架 Android 10.0 必须升级?有什么解决办法吗?
我在 Twitter 上向 MVVMCross 框架的创建者和维护者提出了这个问题,如您在此线程中所见。我得到以下回复:
你需要 6.4.1。除了复制所有必要的代码来修复布局充气器问题之外,没有已知的解决方法。
这意味着针对 Android 10.0 及更高版本的框架的唯一解决方案是更新到包版本 6.4.1 或更高版本。这是一个非常困难的过程,因为除其他外,它还需要将解决方案更新到 .NET Core 2.0 框架。
这意味着什么?截至 2019 年,Android Play 商店仅接受面向框架 8.1 的 APK 文件。因此,到 2020 年 11 月,他们会将要求更改为 Android 10.0,届时您还需要更新您的 nuget 软件包。
更新:我还写了一篇关于此问题的文章,以提高对此问题的认识,因为用户必须将其应用程序定位到 Android 10 的截止日期为 2020 年 11 月。
更新 2:我写了另一篇关于此的文章,以逐步向人们展示如何将他们的应用程序更新到最新的 MVVMCross
| 归档时间: |
|
| 查看次数: |
1052 次 |
| 最近记录: |