AndroidX

March 8, 2022 ยท View on GitHub

AndroidX is a major improvement to the original Android Support Library, which is no longer maintained. androidx packages fully replace the Support Library by providing feature parity and new libraries.

androidx.core

This contains the core functionality of the androidx libraries and is the most commonly used extension.

It replaces the com.distriqt.androidsupport.V4 android support extension.

androidx.appcompat

This ANE provides some advanced application compatibility and layout components.

It replaces the com.distriqt.androidsupport.AppCompatV7 android support extension.

androidx.browser

This ANE is used by the Native Web View ANE to display custom chrome tabs on Android.

It replaces the com.distriqt.androidsupport.CustomTabs android support extension.

androidx.cardview

This ANE is used to create Material Design style display cards.

It replaces the com.distriqt.androidsupport.CardViewV7 android support extension.

androidx.recyclerview

This ANE provides access to a RecyclerView component used in some SDKs to create views.

It replaces the com.distriqt.androidsupport.RecyclerView android support extension.

com.android.installreferrer

This ANE provides access to installation referral information.

It replaces the com.distriqt.androidsupport.InstallReferrer android support extension.

com.google.android.material

This ANE provides some advanced design, layout and transition functionality.

It replaces the com.distriqt.androidsupport.CardViewV7 android support extension.

Migration

As there will be no further updates to the Android Support libraries we are migrating all our extensions to AndroidX. Importantly Android Support libraries are not compatible with AndroidX so applications have to migrate all functionality from the support libraries to AndroidX together.

This means you cannot use older extensions that rely on the Android Support libraries with the latest builds of our extensions and you must upgrade all of our extensions simultaneously.

Generally migrating is fairly simple.

Simply use the table below to swap the extensions you currently have in your application.

Android SupportAndroid X
com.distriqt.androidsupport.V4androidx.core
com.distriqt.androidsupport.AppCompatV7androidx.appcompat
com.distriqt.androidsupport.CardViewV7androidx.cardview
com.distriqt.androidsupport.CustomTabsandroidx.browser
com.distriqt.androidsupport.Designcom.google.android.material
com.distriqt.androidsupport.InstallReferrercom.android.installreferrer
com.distriqt.androidsupport.RecyclerViewandroidx.recyclerview

We have included all these extensions in the existing Android Support repository and will continue to use this repository to hold any common Google provided Android libraries that aren't dependent on the Google Play Services.

When migrating we also suggest you check the manifest additions and "Add the Extension" documentation. Some of the extensions will require changes to the manifest, where references to the Android Support libraries were being used. And there may be additional extensions required.

You should remove any android support ANEs you are using and replace them with the androidx equivalents. Check the documentation on the extensions you are using to confirm which of the new extensions you will need.

Android Support ANEs

The Android Support extensions are deprecated and should not be used in new applications. This information is left here for legacy applications and people requiring to support older applications.

The following summarises the functionality in each of the ANEs. Most are directly related to one ANE however several are shared amongst multiple extensions and may be in used in more the future.

V4

This is the most commonly used ANE. It contains the Support v4 library which is the most commonly used component of the Android Support Library and that most of the other support libraries rely upon.

It contains a range of backward compatibility utilities that are used in many of our (and other providers) extensions.

Note: if you have been using the older com.distriqt.AndroidSupport.ane you should remove that ANE and replace it with the equivalent com.distriqt.androidsupport.V4.ane. This is the new version of this ANE and has been renamed to better identify the ANE with regards to its contents.

CardViewV7

This ANE is used to create Material Design style display cards.

CustomTabs

This ANE is used by the Native Web View ANE to display custom chrome tabs on Android.

AppCompatV7

This ANE provides some advanced application compatibility and layout components.

Design

This ANE provides some advanced design, layout and transition functionality.

RecyclerViewV7

This ANE provides access to a RecyclerView component used in some SDKs to create views.