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 un punto de partida para migrar al nuevo empaquetado de androidx
.
Las bibliotecas empaquetadas con android.support
existentes seguirán funcionando. Sin embargo, no recibirán actualizaciones posteriores a la versión 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 la API nivel 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 de API más grande en comparación con otras bibliotecas, que incluye compatibilidad con componentes de la aplicación, funciones de la interfaz de usuario, accesibilidad, manejo de datos, conectividad de red y funciones de programación.
Para obtener información completa y detallada acerca de las clases y los métodos proporcionados por las bibliotecas de compatibilidad v4, consulta el paquete android.support.v4
en la referencia de 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 varias 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 de compatibilidad con versiones anteriores v7, que forma 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. Para 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 una clase base para los diálogos temáticos de AppCompat.ShareActionProvider
: Agrega compatibilidad con una acción de compartir contenido 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 acerca de las APIs de la biblioteca gridlayout v7, consulta el paquete android.support.v7.widget
en la referencia de 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 del dispositivo actual a pantallas externas, bocinas y otros dispositivos de destino. La biblioteca incluye APIs para publicar proveedores de rutas de medios específicos de la app, para descubrir y seleccionar dispositivos de destino, comprobar el estado de medios 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 preference 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 cálculo 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:
BrowseFragment
: Es un fragmento que permite crear un diseño principal para las categorías de navegación y las filas de elementos multimedia.DetailsFragment
: Es un fragmento de wrapper para pantallas de detalles de Leanback.PlaybackOverlayFragment
: Es una subclase deDetailsFragment
que permite mostrar controles de reproducción y contenido relacionado.SearchFragment
: Es un fragmento que permite administrar búsquedas. El fragmento recibe la solicitud de búsqueda del usuario y la pasa al elementoSearchResultProvider
proporcionado por la aplicación. El elementoSearchResultProvider
muestra los resultados de la búsqueda al elementoSearchFragment
, que los representa en un elementoRowsFragment
.
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 diferentes 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 a las APIs correspondientes en la biblioteca de compatibilidad Wearable.
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