Completed
Last Updated: 28 Jul 2021 11:04 by ADMIN
Release 2021.2.728 (R2 2021 minor release)
Vlad
Created on: 03 Mar 2021 17:25
Category: UI for Xamarin
Type: Bug Report
7
Errors with latest versions of AndroidX

There seems to be 2 issues with Telerik ui for xamarin and Xamarin.AndroidX.Core versions 1.3.2.2 and newer where A) Linker seems to be failing when set to "Sdk Assemblies Only" on Visual Studio 16.9.0.

 

The other issue is with Telerik RadListView and same  AndroidX.Core at runtime I am getting the following exception:

System.TypeLoadException: 'VTable setup of type Telerik.XamarinForms.DataControlsRenderer.Android.ListViewAccessibilityDelegateCompat failed'

 

Please advise

21 comments
ADMIN
Didi
Posted on: 28 Jul 2021 11:04

Hi all, 

We have released an official minor release version Telerik UI for Xamarin 2021.2.728.1. This version has the fix for AndroidX.Core package. 

With this new version of Telerik UI for Xamarin, we have updated the minimum required version of Xamarin.Forms. Now it is 5.0.0.2083. 

Update the projects to these versions of Telerik UI for Xamarin and Xamarin.Forms.

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

ADMIN
Didi
Posted on: 21 Jul 2021 17:28

Hi all, 

We have just released a LIB which contains the fix for AndroidX.Core. We have updated the Xamarin.Forms version to 5.0.0.2083. Check the Release Notes here: https://www.telerik.com/support/whats-new/xamarin-ui/release-history/ui-for-xamarin-lib-2021-2-721 

Here are more details about Latest Internal Builds(LIB).  The hotfix (LIB) is available in your accounts. You can download it and test the fix on your side. The LIBs are intended for development only and are not recommended for production purposes as these distributions have not gone through the complete QA process. Our team continues working on this and the testing is in process. We will release an official minor release next week. The item status will be updated once the official minor release is live.

Steps to follow in order to use the Telerik UI for Xamarin v2021.2.721 -hotfix

1. Update the Xamarin.Forms to latest version 5.0.0.2083

2. Update the project with Telerik UI for Xamarin 2021.2.721 using one of the following options:

 --- How to Download LIB
 --- Install LIB from NuGet

3. Delete bin and obj folders from all project

4. Clean and rebuild the solution

5. Run on android, test the fix on your side, and share your feedback

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Paul
Posted on: 21 Jul 2021 00:05
I can now see that your customers must choose between using Telerik UI for Xamarin and the latest version of Xamarin.Forms (5.0.0.2083). What a disaster.
Paul
Posted on: 16 Jul 2021 14:08
Yes Didi, that's quite the point. This critical miscalculation has rendered the product (along with UI for Blazor, which has the same anti-developer philosophy) unsuitable for any kind of serious enterprise development. It's a shame, because Telerik worked hard to establish a pro-developer image, before Progress came along and completely butchered it.
ADMIN
Didi
Posted on: 16 Jul 2021 10:10

Hi Paul,

Regarding this question: Either make your source code available to paying customers - > As to the Source code - Providing the controls source code is per product. For Telerik UI for Xamarin suite we do not provide the source code.

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

ADMIN
Didi
Posted on: 16 Jul 2021 09:57

Hi all,

The dev team is working on this case and the item status is "In Development" If passing testing the fix will be available next week or at the end of July. 

The item status will be updated accordingly. Thank you all for your patience on this. 

Regards,
Didi
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

Paul
Posted on: 12 Jul 2021 07:06

What a ridiculous response. The dependency information for every public package is available on nuget.org. Asking your customers to recite this information to you is an embarrassingly transparent attempt to make it appear that some kind of action is being taken to resolve this. Either make your source code available to paying customers, as Telerik has done throughout its entire history, or resolve the issue. The disrespect Progress shows for its customers has already created enough additional work for them -- they want immediate action, not homework.

ADMIN
Didi
Posted on: 12 Jul 2021 05:31

Hi all,

I understand this is a blocking issue if you want to use the latest versions of AndroidX packages that depends on AndroidX.Core version 1.3.2.2. or higher. I can assure you that we're keeping an eye on the situation and working closely with the Microsoft Xamarin team to resolve it. As soon as they update the minimum requirements, we'll react accordingly.

In the meantime, you can use the latest stable versions of Xamarin.Forms;  and Telerik UI for Xamarin, but the AndroidX.Core version must be 1.3.2.1 or lower. Also, you have to downgrade other packages that depend on AndroidX.Core to match the requirements for AndroidX.Core version where the exception cannot be reproduced.

In addition, for the time being, the latest stable version of Xamarin.Forms itself does not reference by default the latest AndroidX packages - Xamarin.AndroidX.Core 1.3.2.1 is still used ( as a dependency of Xamarin.Google.Android.Material 1.2.1.1).

@Paul, About this sentence: My organization has already been forced to migrate away from Telerik as a result of this limitation. -> I am sorry to hear that this issue made you migrate away from Telerik UI for Xamarin controls. -> Could you please elaborate more what were the blockers that stopped you from using a lower version of AndroidX.Core? Why downgrading the AndroidX.Core version is not an option? 

@Juri, Regarding this note: This is a very big inconvenience -> Yes, we understand this; and we are working closely with Microsoft Xamarin team to resolve this issue. 

Please all share your feedback and concerns about this issue, why downgrading the AndroidX.Core for some of you is not an option, what are your blockers of using a lower version of AndroidX.Core?

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Juri
Posted on: 08 Jul 2021 00:34

This is a very big inconvenience at this point and can become a serious issue in the near feature if not resolved.

Thanks

Paul
Posted on: 08 Jul 2021 00:15

Traditionally, this would not be an issue with Telerik because we would simply create our own build to satisfy our needs.

 

However, in the new anti-developer "Progress" era, we are deprived of critical source code (both in this library and UI for Blazor), making these libraries unsuitable for any kind of serious enterprise development.

 

How do you explain to a customer "I'm sorry, but the component vendor has only received 4 votes for this issue"? You don't, you move on to vendors that don't show such disdain for their own customers.

Stephen
Posted on: 07 Jul 2021 12:25

"If we build the Telerik UI for Xamarin assemblies to the latest AndroidX packages versions, all of our users will be forced to update the AndroidX packages to the latest versions. For now, we will avoid this. "

 

Would this cause problems if we had to update to the latest versions ? 

I know at the moment I have the downgraded versions you recommend to make it work but would like to see a better solution soon.

 

 

 

Greg
Posted on: 07 Jul 2021 12:16
Sorry, I don't understand this stance.  Why not build the controls against latest AndroidX and let the users decide if they want to update to the latest version of Telerik controls?  If Telerik is only ever going to support one version at a time, it doesn't make sense for me as an app developer to use Telerik.
Paul
Posted on: 06 Jul 2021 20:17
@Greg, your understanding is correct. My organization has already been forced to migrate away from Telerik as a result of this limitation.
Greg
Posted on: 06 Jul 2021 19:34

Am I reading these responses correctly?  Does this mean if I have a library dependent upon Xamarin.AndroidX.Core >= 1.3.2.2 I can't link until Telerik can catch up?

Thanks

 

ADMIN
Didi
Posted on: 01 Jun 2021 10:38

Hi all,

If we build the Telerik UI for Xamarin assemblies to the latest AndroidX packages versions, all of our users will be forced to update the AndroidX packages to the latest versions. For now, we will avoid this. 

We're keeping an eye on the situation and as soon as Xamarin team updates the minimum requirements, we'll react accordingly.  Now the latest stable Xamarin.Forms 5.0.0.2012 version depends on Xamarin.Google.Android.Material 1.2.1.1 which depends on Xamarin.AndroidX.Core 1.3.2.1, where the exception cannot be reproduced.

In addition we are researching different approaches how to workaround these exceptions. We will update the feedback item once we have more information to share. 

Regards,
Didi
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

Paul
Posted on: 25 May 2021 19:53
When is Progress planning on targeting Xamarin.AndroidX.Core v1.3.2.2 or higher? We're almost in June, many other packages we depend on now target Xamarin.AndroidX.Core >= 1.3.2.3. This is quickly turning into a huge issue, please let us know the plan.
ADMIN
Didi
Posted on: 09 Mar 2021 07:45

Hello

We have researched the case and found the reason for the exception. The exception is caused by namespace renaming in the latest Xamarin.AndroidX.Core package. The issue is a typo, which Xamatin.Forms fixed, but this is a breaking change, as now the namespace is different. Here is the link https://github.com/xamarin/AndroidX/commit/b64834625ba231d89afb9c89bdae007a7258eca0#diff-64d65877e1b5eb3de016e98941c7020707c9b317946c38a0e63972fab41e1984   

So as we are built against an earlier version of the NuGet this breaking change (namespace renaming) leads to us not being able to find all classes in that namespace as they are now in different one.

The issue happens in Xamarin.AndroidX.Core package version 1.3.2.2 or higher. Also if you use another Xamarin.AndroidX package which depends on Xamarin.AndroidX.Core 1.3.2.2 version or higher.

Solution:

The solution is to downgrade the Xamarin.AndroidX.Core package to version to 1.3.2.1. Also, you may need to downgrade other packages like Xamarin.AndroidX.Media, Xamarin.Google.Android.Material, etc. as they depend on the Xamarin.AndroidX.Core package.

Regards,
Didi
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

Juri
Posted on: 04 Mar 2021 21:05

I also have the same issue. After applying the suggested workaround I started getting the following error:

Mono.Linker.MarkException: Error processing method: 'System.Void AndroidX.RecyclerView.Widget.RecyclerView/LayoutManager::n_OnInitializeAccessibilityNodeInfo_Landroidx_recyclerview_widget_RecyclerView_Recycler_Landroidx_recyclerview_widget_RecyclerView_State_Landroidx_core_view_accessibility_AccessibilityNodeInfoCompat_(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)' in assembly: 'Xamarin.AndroidX.RecyclerView.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve AndroidX.Core.View.Accessibility.AccessibilityNodeInfoCompat
   at Mono.Linker.Steps.MarkStep.HandleUnresolvedType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference)
   at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference)
   at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
   at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- End of inner exception stack trace ---
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
   at Mono.Linker.Steps.MarkStep.Process()
   at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
   at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
   at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
   at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
   at Xamarin.Android.Tasks.LinkAssemblies.RunTask()
   at Xamarin.Android.Tasks.AndroidTask.Execute()

----------------------------------------------------------------------------------

My workaround for this is to set Linking to "None". After setting Linking to None the project compiles and runs in the debug mode. However I need this to be fixed ASAP. Please advise.

 

ADMIN
Didi
Posted on: 04 Mar 2021 10:31

Hello,

The issue can be reproduced when using Xamarin.AndroidX.Core version 1.3.2.2 . If you Downgrade the Xamarin.AndroidX.Core version to 1.3.2.1  the exceptions below cannot be reproduced. The project builds and runs as expected 

Exception in ListView:
System.TypeLoadException: 'VTable setup of type Telerik.XamarinForms.DataControlsRenderer.Android.ListViewAccessibilityDelegateCompat failed'

Exception in NumericInpit:
System.TypeLoadException
  Message=VTable setup of type Telerik.XamarinForms.Common.Android.HelpTextAccessibilityDelegateCompat failed

Exception in DateTimePicker because of the TabView control.. in other pickers exception cannot be reproduced
System.TypeLoadException
  Message=VTable setup of type Telerik.XamarinForms.Common.Android.HelpTextAccessibilityDelegateCompat failed
Exception in TreeView:
System.TypeLoadException: 'VTable setup of type Telerik.XamarinForms.DataControlsRenderer.Android.TreeViewAccessibilityDelegateCompat failed'

The development team is researching the case. Once we have more information to share we will send a follow-up message in this thread.

Workaround: 

1 option: If you are using Xamarin.Google.Android.Material version 1.3.0.1-> downgrade to Xamarin.Google.Android.Material version 1.2.1.1. it will automatically downgrade the versions of the AndroidX packages it depends on (also the Xamarin.AndroidX.Core version)

2 option If you are not using the Material package, just using AndoridX.Core package -> Downgrade the Xamarin.AndroidX.Core version to 1.3.2.1. 

Regards,
Didi
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

Vlad
Posted on: 03 Mar 2021 18:57

Hi Lance, Thank you for your prompt reply. My linker setting is the following:

The Link SDK Assemblies option only links assemblies that come with Xamarin.Android. All other assemblies (such as your code) are not linked.

I thought this was the right linker setting that will not touch Telerik assemblies.

ADMIN
Lance | Manager Technical Support
Posted on: 03 Mar 2021 18:53

Hi Vlad,

Thank you for sharing the details, let me get right to the issues.

The first problem - This is expected.

This is because we do not support the use of the Linker to strip out Telerik code. You need to leave Android and iOS linker to include 3rd party assemblies.

The only place you can use the native linker is on UWP. This is because you are forced to use .NETNative and Xamarin has a way to deal with it by adding the types to the XamarinForms AssembliesToInclude list (see this real-world demo usage).

 If you want to decrease the size of your app, you can reference just the bare minimum necessary for the controls/feature you're using.

The 2nd problem - We are currently investigating.

I will forward this ticket to Didi, who is working with the team. She will follow up as soon as we know more.

 

Thank you for your patience and understanding while we work towards finding the root cause of the ListViewAccessibilityDelegateCompat error.

Regards,
Lance | Manager Technical Support
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.