Nota: Con el lanzamiento de Android 9.0 (API nivel 28), hay una nueva versión de la biblioteca de compatibilidad, denominada AndroidX, que es parte de Jetpack.
La biblioteca de AndroidX contiene la biblioteca de compatibilidad existente e incluye los últimos componentes de Jetpack.
Puedes seguir usando la biblioteca de compatibilidad.
Los artefactos históricos (aquellos de la versión 27 y anteriores, y empaquetados como android.support.*
) seguirán estando disponibles en Google Maven. Sin embargo, todo el desarrollo de bibliotecas nuevas ocurrirá en la biblioteca de AndroidX.
Recomendamos usar las bibliotecas de AndroidX en todos los proyectos nuevos. Otra opción es también migrar los proyectos existentes a AndroidX.
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. A fin de completar este paso, sigue las instrucciones para descargar las bibliotecas de compatibilidad de Configuración de biblioteca de compatibilidad. Debes realizar pasos adicionales con el fin de 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 abarcan 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 de la biblioteca de compatibilidad 24.2.0, había una sola biblioteca de compatibilidad v4. Esa biblioteca se dividió en múltiples módulos con el objetivo de mejorar la eficiencia. En cuanto a la compatibilidad con versiones anteriores, si enumeras support-v4
en tu secuencia de comandos de Gradle, se incluirán todos los módulos v4 en tu APK. Sin embargo, a fin de reducir el tamaño del APK, te recomendamos que solo enumeres los módulos específicos que necesita tu app.
Biblioteca compat v4
Proporciona contenedores de compatibilidad para varias API de marco de trabajo, 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 marco de trabajo 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 marco de trabajo 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. Si quieres obtener más información sobre cómo usar 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, 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 cómo usar 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 estandarizada de compartir contenido (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 de 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 API 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 API en 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 API 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 API de la biblioteca mediarouter v7, consulta el paquete android.support.v7.media
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:mediarouter-v7:28.0.0
Las API de la biblioteca mediarouter v7 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 prominentes 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 de preferencias v7
El paquete preference proporciona API para admitir la adición de objetos de preferencia, como CheckBoxPreference
y ListPreference
, a fin de que los usuarios modifiquen configuraciones de 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 independientemente de otras bibliotecas.
Biblioteca renderscript v8
Esta biblioteca agrega compatibilidad con el marco de trabajo 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 API en tu aplicación son muy diferentes de los que se usan para otras API de bibliotecas de compatibilidad. Para obtener más información acerca de cómo usar estas API en tu aplicación, consulta la guía para desarrolladores sobre RenderScript.
Nota: El uso de RenderScript con la biblioteca de compatibilidad es compatible con Android Studio y las 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 Fragment. Para obtener información detallada acerca de las API de la biblioteca de compatibilidad v13, consulta el paquete android.support.v13
en la referencia de API.
Nota: La biblioteca fragment 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 marco de trabajo 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 API 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 API 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 API 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 API de la biblioteca de compatibilidad de preferencias v14, 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 API 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 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 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 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 para esta biblioteca es el siguiente:
com.android.support:animated-vector-drawable:28.0.0
Biblioteca de compatibilidad Annotations
El paquete Annotation proporciona API 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 API para admitir la adición de componentes y patrones de material design a tus apps.
La biblioteca de compatibilidad Design 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 Custom Tabs proporciona API para admitir la adición y el manejo de pestañas personalizadas en tus apps.
La biblioteca de compatibilidad Custom Tabs 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 API 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 diferentes 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 Recommentation para TV
El paquete App Recommendation proporciona API para admitir la adición de recomendaciones de contenido en tu app para dispositivos de TV.
Agrega anotaciones, como ContentRecommendation.ContentMaturity y diferentes clases, como ContentRecommendation yRecommendationExtender.
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 API, disponibles en el paquete android.support.wear.widget, reemplazan a las API 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