Paquetes de bibliotecas de compatibilidad

Nota: Con el lanzamiento de la biblioteca de compatibilidad 28.0.0, las bibliotecas empaquetadas en android.support dejaron de estar disponibles y se reemplazaron por bibliotecas de Jetpack con versión individual empaquetadas como androidx. La versión inicial 1.0.0 de las bibliotecas de Jetpack proporciona paridad con la biblioteca de compatibilidad 28.0.0 y proporciona un punto de partida para migrar al nuevo paquete androidx.

Las bibliotecas empaquetadas con android.support existentes seguirán funcionando. Sin embargo, no recibirán ninguna actualización posterior a la 28.0.0 y no serán compatibles con las bibliotecas de Jetpack nuevas. Los artefactos históricos (aquellos con versiones 27 y anteriores, y empaquetados como android.support) seguirán estando disponibles en Google Maven. Todos los artefactos nuevos se empaquetarán como androidx y requerirán una migración de android.support a androidx.

Recomendamos usar las bibliotecas de androidx en todos los proyectos nuevos. También debes considerar migrar los proyectos existentes para asegurarte de que sigan recibiendo correcciones de errores y otras mejoras de la biblioteca.

La biblioteca de compatibilidad de Android contiene varios paquetes de biblioteca que se pueden incluir en tu aplicación. Cada una de estas bibliotecas admite un rango específico de versiones de la plataforma Android y un conjunto de funciones.

Para usar cualquiera de las siguientes bibliotecas, debes descargar los archivos de la biblioteca en tu instalación del SDK de Android. Para completar este paso, sigue las instrucciones para descargar las bibliotecas de compatibilidad en Configuración de bibliotecas de compatibilidad. Debes realizar pasos adicionales para incluir una biblioteca de compatibilidad específica en tu aplicación. Consulta el final de cada sección de la biblioteca a continuación para obtener información importante acerca de cómo incluir la biblioteca en tu aplicación.

Nota: La versión mínima del SDK para todos los paquetes de biblioteca de compatibilidad es el nivel de API 14. Algunos paquetes requieren un nivel de API más alto, como se indica a continuación.

Bibliotecas de compatibilidad v4

Estas bibliotecas incluyen el conjunto más grande de APIs en comparación con otras bibliotecas, incluida la compatibilidad con componentes de la aplicación, las funciones de la interfaz de usuario, la accesibilidad, el manejo de datos, la conectividad de red y las utilidades de programación.

Para obtener información completa y detallada sobre las clases y los métodos proporcionados por las bibliotecas de compatibilidad v4, consulta el paquete android.support.v4 en la referencia de la API.

Nota: Antes de la revisión 24.2.0 de la biblioteca de compatibilidad, había una sola biblioteca de compatibilidad v4. Esa biblioteca se dividió en varios módulos para mejorar la eficiencia. Para tener retrocompatibilidad, si incluyes support-v4 en tu secuencia de comandos de Gradle, tu app incluirá todos los módulos de v4. Sin embargo, para reducir el tamaño de la app, te recomendamos que solo enumeres los módulos específicos que necesita tu app.

Biblioteca compat v4

Proporciona wrappers de compatibilidad para varias APIs de framework, como Context.obtainDrawable() y View.performAccessibilityAction().

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:support-compat:28.0.0

Biblioteca core-utils v4

Proporciona una serie de clases de utilidad, como AsyncTaskLoader y PermissionChecker.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:support-core-utils:28.0.0

Biblioteca core-ui v4

Implementa una variedad de componentes relacionados con la IU, como ViewPager, NestedScrollView y ExploreByTouchHelper.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:support-core-ui:28.0.0

Biblioteca media-compat v4

Ofrece portabilidad a versiones anteriores del framework de multimedia, incluidas MediaBrowser y MediaSession.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:support-media-compat:28.0.0

Biblioteca fragment v4

Agrega compatibilidad para la encapsulación de la interfaz de usuario y funcionalidad con fragmentos, lo que permite que las aplicaciones proporcionen diseños que se ajustan a dispositivos de pantalla pequeña y grande. Este módulo tiene dependencias en compat, core-utils, core-ui y media-compat.

Nota: La biblioteca de compatibilidad v13 proporciona una clase FragmentCompat. La clase Fragment v4 es una clase independiente que proporciona correcciones de errores que se agregaron en versiones posteriores de la plataforma, mientras que la clase FragmentCompat v13 proporciona correcciones de compatibilidad para la implementación del framework de la clase Fragment.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:support-fragment:28.0.0

Biblioteca de compatibilidad multidex

Esta biblioteca proporciona compatibilidad para compilar apps con múltiples archivos Dalvik Executable (DEX). Se requieren apps que hagan referencia a más de 65,536 métodos para usar configuraciones multidex. Para obtener más información sobre el uso de MultiDex, consulta Cómo compilar apps con más de 64,000 métodos.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:multidex:1.0.0

Bibliotecas de compatibilidad v7

Estas bibliotecas proporcionan conjuntos de funciones específicas y se pueden incluir en tu aplicación de manera individual.

Biblioteca appcompat v7 Parte de Android Jetpack.

Nota: La biblioteca appcompat migró a la biblioteca de AndroidX, que es un componente de Android Jetpack. Mira cómo funciona en la app de demostración de Sunflower.

Esta biblioteca agrega compatibilidad con el patrón de diseño de la interfaz de usuario de la barra de acciones. Esta biblioteca incluye compatibilidad con implementaciones de interfaz de usuario de material design.

Nota: Esta biblioteca depende de la biblioteca de compatibilidad v4.

Estas son algunas de las clases clave incluidas en la biblioteca appcompat v7:

  • ActionBar: Proporciona una implementación del patrón de interfaz de usuario de la barra de acciones. Si deseas obtener más información sobre el uso de la barra de acciones, consulta la guía para desarrolladores de la barra de acciones.
  • AppCompatActivity: Agrega una clase de actividad de aplicación que se puede usar como clase base para actividades que usan la implementación de la barra de acciones de la biblioteca de compatibilidad.
  • AppCompatDialog: Agrega una clase de diálogo que se puede usar como clase base para los diálogos temáticos de AppCompat.
  • ShareActionProvider: Agrega compatibilidad para una acción de uso compartido estandarizada (como correo electrónico o publicación en aplicaciones sociales) que se puede incluir en una barra de acciones.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:appcompat-v7:28.0.0

Biblioteca cardview v7

Esta biblioteca agrega compatibilidad con el widget CardView, que te permite mostrar información dentro de las tarjetas que tienen una apariencia constante en cualquier app. Estas tarjetas son útiles para las implementaciones de material design y se usan ampliamente en los diseños de apps para TV.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:cardview-v7:28.0.0

Biblioteca gridlayout v7

Después de descargar las bibliotecas de compatibilidad de Android, esta biblioteca agrega compatibilidad con la clase GridLayout, que te permite organizar los elementos de la interfaz de usuario mediante una cuadrícula de celdas rectangulares. Para obtener información detallada sobre las APIs de la biblioteca gridlayout v7, consulta el paquete android.support.v7.widget en la referencia de la API.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:gridlayout-v7:28.0.0

Biblioteca mediarouter v7

Esta biblioteca proporciona MediaRouter, MediaRouteProvider y clases de medios relacionadas que admiten Google Cast.

En general, las APIs de la biblioteca mediarouter v7 proporcionan un medio para controlar el enrutamiento de canales y transmisiones de medios desde el dispositivo actual a pantallas externas, bocinas y otros dispositivos de destino. La biblioteca incluye APIs para publicar proveedores de rutas de contenido multimedia específicos de la app, para descubrir y seleccionar dispositivos de destino, verificar el estado del contenido multimedia y mucho más. Para obtener información detallada acerca de las APIs de la biblioteca mediarouter v7, consulta el paquete android.support.v7.media en la referencia de la API.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:mediarouter-v7:28.0.0

Las APIs de la biblioteca mediarouter de la versión 7 incorporadas en la biblioteca de compatibilidad r18 están sujetas a cambios en revisiones posteriores de la biblioteca de compatibilidad. En este momento, te recomendamos usar la biblioteca solo en conexión con Google Cast.

Biblioteca palette v7

La biblioteca de compatibilidad palette v7 incluye la clase Palette, que te permite extraer colores destacados de una imagen. Por ejemplo, una app de música podría usar un objeto Palette con el objetivo de extraer los colores principales de la portada del álbum y usar esos colores para compilar una tarjeta de título de color que combine con la portada.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:palette-v7:28.0.0

Biblioteca recyclerview v7

La biblioteca recyclerview agrega la clase RecyclerView. Esta clase proporciona compatibilidad con el widget RecyclerView, una vista para mostrar de manera eficaz grandes conjuntos de datos proporcionando una ventana limitada de elementos de datos.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:recyclerview-v7:28.0.0

Biblioteca de compatibilidad Preference v7

El paquete de preferencias proporciona APIs para admitir la adición de objetos de preferencia, como CheckBoxPreference y ListPreference, para que los usuarios modifiquen la configuración de la IU.

La biblioteca de preferencias v7 agrega compatibilidad con interfaces, como Preference.OnPreferenceChangeListener y Preference.OnPreferenceClickListener, y con clases, como CheckBoxPreference y ListPreference.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:preference-v7:28.0.0

Biblioteca de compatibilidad v8

Esta biblioteca proporciona conjuntos de atributos específicos y se puede incluir en tu aplicación de manera independiente de otras bibliotecas.

Biblioteca renderscript v8

Esta biblioteca agrega compatibilidad con el framework de procesamiento de RenderScript. Estas API se incluyen en el paquete android.support.v8.renderscript. Debes tener en cuenta que los pasos para incluir estas APIs en tu aplicación son muy diferentes de los que se usan para otras APIs de bibliotecas de compatibilidad. Para obtener más información sobre el uso de estas APIs en tu aplicación, consulta la guía para desarrolladores de RenderScript.

Nota: El uso de RenderScript con la biblioteca de compatibilidad es compatible con Android Studio y compilaciones basadas en Gradle. La biblioteca renderscript se ubica en la carpeta build-tools/$VERSION/renderscript/.

En el siguiente ejemplo, se muestran las propiedades de la secuencia de comandos de compilación de Gradle para esta biblioteca:

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

Biblioteca de compatibilidad v13

Esta biblioteca agrega compatibilidad con el patrón de interfaz de usuario de Fragment con la clase (FragmentCompat) y clases adicionales de compatibilidad de fragmentos. Para obtener más información sobre los fragmentos, consulta la guía para desarrolladores de Fragmentos. Para obtener información detallada sobre las APIs de la biblioteca de compatibilidad v13, consulta el paquete android.support.v13 en la referencia de la API.

Nota: La biblioteca de fragmentos v4 proporciona una clase Fragment. La clase Fragment v4 es una clase independiente que proporciona correcciones de errores que se agregaron en versiones posteriores de la plataforma, mientras que la clase FragmentCompat v13 proporciona correcciones de compatibilidad para la implementación del framework de la clase Fragment.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:support-v13:28.0.0

Biblioteca de compatibilidad de preferencias v14

El paquete android.support.v14.preference proporciona APIs para agregar compatibilidad con interfaces de preferencias, como PreferenceFragment.OnPreferenceStartFragmentCallback y PreferenceFragment.OnPreferenceStartScreenCallback, y con clases, como MultiSelectListPreference y PreferenceFragment. Para obtener información detallada sobre las APIs de la biblioteca de compatibilidad de preferencias v14, consulta el paquete de preferencias en la referencia de la API.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:preference-v14:28.0.0

Biblioteca de compatibilidad de preferencias para TV v17

El paquete android.support.v17.preference proporciona APIs para el aprovisionamiento de interfaces de preferencias en dispositivos de TV, incluida la compatibilidad con la interfaz LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener y con clases como BaseLeanbackPreferenceFragment y LeanbackPreferenceFragment. Para obtener información detallada sobre las APIs de la biblioteca de compatibilidad de preferencias v17, consulta el paquete de preferencias en la referencia de la API.

Este paquete requiere la API nivel 17 o superior. El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

 com.android.support:preference-leanback-v17:28.0.0 

Biblioteca Leanback v17

El paquete android.support.v17.leanback proporciona APIs para admitir la creación de interfaces de usuario en dispositivos de TV. Proporciona una serie de widgets importantes para apps de TV. Entre algunas de las clases notables, se incluyen las siguientes:

Este paquete requiere la API nivel 17 o superior. El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:leanback-v17:28.0.0

Biblioteca Vector Drawable

Proporciona compatibilidad para gráficos vectoriales estáticos.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:support-vector-drawable:28.0.0

Biblioteca Animated Vector Drawable

Admite gráficos vectoriales animados.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:animated-vector-drawable:28.0.0

Biblioteca de compatibilidad Annotations

El paquete Annotation proporciona APIs para admitir la adición de metadatos de anotación a tus apps.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:support-annotations:28.0.0

Biblioteca de compatibilidad Design

El paquete Design proporciona APIs para admitir la adición de componentes y patrones de material design a tus apps.

La biblioteca de compatibilidad de diseño agrega compatibilidad con varios componentes y patrones de material design para que los desarrolladores de apps puedan usarlos, como paneles laterales de navegación, botones de acción flotante (BAF), barras de notificaciones y pestañas.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:design:28.0.0

Biblioteca de compatibilidad Custom Tabs

El paquete de pestañas personalizadas proporciona APIs para admitir la adición y administración de pestañas personalizadas en tus apps.

La biblioteca de compatibilidad de pestañas personalizadas agrega compatibilidad con varias clases, como el servicio de pestañas personalizadas y la devolución de llamadas de pestañas personalizadas.

Este paquete requiere la API nivel 15 o superior. El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:customtabs:28.0.0

Biblioteca de compatibilidad Percent

El paquete Percent proporciona APIs para admitir la adición y el manejo de dimensiones basadas en porcentajes en tu app.

Nota: A partir de la versión 26.0.0, la biblioteca de compatibilidad Percent dejó de estar disponible. Los clientes de este módulo deberían migrar al nuevo widget ConstraintLayout, que se proporciona como un artefacto separado en SDK Manager.

La biblioteca de compatibilidad Percent agrega compatibilidad con la interfaz PercentLayoutHelper.PercentLayoutParams y varias clases, como PercentFrameLayout y PercentRelativeLayout.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:percent:28.0.0

Biblioteca de compatibilidad ExifInterface

Las etiquetas Exif almacenan información como la orientación, la fecha y la hora, la información de la cámara y la ubicación directamente en un archivo JPEG o RAW. La clase ExifInterface desagrupa compatibilidad para leer información Exif de archivos JPEG y archivos sin formato (DNG, CR2, NEF, NRW, ARW, RW2, ORF, PEF, SRW y RAF), y configurar la información Exif en archivos de imagen JPEG.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:exifinterface:28.0.0

Biblioteca de compatibilidad App Recommendation para TV

El paquete de recomendaciones de apps proporciona APIs para admitir la adición de recomendaciones de contenido en tu app que se ejecuta en dispositivos de TV.

Agrega anotaciones, como ContentRecommendation.ContentMaturity y varias clases, como ContentRecommendation y RecommendationExtender.

Este paquete requiere la API nivel 21 o superior. El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:recommendation:28.0.0

Biblioteca de la IU de Wear

Esta biblioteca tiene API que permiten compilar interfaces de usuario para apps de Wear. Las APIs, disponibles en el paquete android.support.wear.widget, reemplazan las APIs correspondientes en la biblioteca de compatibilidad de wearables.

Para obtener más información, consulta Cómo usar la biblioteca de IU de Wear.

El identificador de dependencias de la secuencia de comandos de compilación de Gradle para esta biblioteca es el siguiente:

com.android.support:wear:28.0.0