Nota: Con el lanzamiento de Android 9.0 (nivel de API 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 con versiones 27 y anteriores, y empaquetados como android.support.*
) seguirán estando disponibles en Google Maven. Sin embargo, todo el desarrollo de bibliotecas nuevas se llevará a cabo en la biblioteca de AndroidX.
Recomendamos usar las bibliotecas de AndroidX en todos los proyectos nuevos. Otra opción es migrar los proyectos existentes a AndroidX también.
La forma de configurar las bibliotecas de compatibilidad de Android en tu proyecto de desarrollo depende de qué funciones quieres usar y qué rango de versiones de la plataforma de Android quieres admitir con tu y mantener la integridad de su aplicación.
Este documento te guiará en la descarga del paquete de bibliotecas de compatibilidad y en la adición de bibliotecas a tu entorno de desarrollo.
Las bibliotecas de compatibilidad ahora están disponibles a través del repositorio de Google Maven. Ya no se admite la descarga de bibliotecas a través del SDK Manager, y esa función se quitará pronto.
Cómo elegir bibliotecas de compatibilidad
Antes de agregar una biblioteca de compatibilidad a tu aplicación, debes decidir qué funciones quieres incluir. y las versiones anteriores de Android que quieras admitir. Para obtener más información sobre las funciones proporcionadas por las diferentes bibliotecas, consulta Funciones de la biblioteca de compatibilidad.
Cómo agregar bibliotecas de compatibilidad
Para usar una biblioteca de compatibilidad, debes modificar el directorio de ruta de clase de tu entorno de desarrollo. Debes realizar este procedimiento cada biblioteca de compatibilidad que quieras usar.
Para agregar una biblioteca de compatibilidad al proyecto de tu aplicación:
- Incluye el repositorio Maven de Google en el archivo
settings.gradle
de tu proyecto.dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must // instead use: // // maven { // url 'https://maven.google.com' // } } }
- En cada módulo en el que desees usar una biblioteca de compatibilidad, agrégala a la
Bloque
dependencies
del archivobuild.gradle
del módulo. Para Por ejemplo, para agregar la biblioteca core-utils v4, agrega lo siguiente:dependencies { ... implementation "com.android.support:support-core-utils:28.0.0" }
Precaución: Usar dependencias dinámicas (por ejemplo,
palette-v7:23.0.+
) puede causar actualizaciones de versión inesperadas y
incompatibilidades de regresión. Te recomendamos especificar de modo explícito una versión de biblioteca (por ejemplo, palette-v7:28.0.0
).
Cómo usar las API de la biblioteca de compatibilidad
Las clases de biblioteca de compatibilidad que proporcionan compatibilidad con las APIs de framework existentes suelen tener la
con el mismo nombre que la clase de framework, pero se encuentran en los paquetes de clase android.support
o tener un sufijo *Compat
.
Precaución: Cuando uses clases de la biblioteca de compatibilidad, asegúrate de importar
la clase desde el paquete correspondiente. Por ejemplo, cuando apliques ActionBar
clase:
android.support.v7.app.ActionBar
cuando uses la biblioteca de compatibilidad.android.app.ActionBar
cuando realices desarrollos únicamente para el nivel de API 11 o niveles posteriores.
Nota: Después de incluir la biblioteca de compatibilidad en el proyecto de tu aplicación, te recomendamos que reduzcas, ofusques y optimices tu app para su lanzamiento. Además de proteger tu código fuente con ofuscación, la reducción quita las clases no utilizadas de cualquier biblioteca que incluyas en tu aplicación, lo que mantiene el tamaño de descarga de tu aplicación lo más pequeño posible.
En las clases de capacitación, las guías y las muestras para desarrolladores de Android, se proporciona información adicional sobre el uso de las funciones de la biblioteca de compatibilidad. Para obtener más información acerca de las clases y los métodos de las bibliotecas de compatibilidad individuales, consulta los paquetes android.support
en la referencia de API.
Cambios en la declaración del manifiesto
Si quieres aumentar la retrocompatibilidad de tu aplicación existente a una versión anterior
de la API de Android con la biblioteca de compatibilidad, asegúrate de actualizar la configuración
. Específicamente, debes actualizar el elemento android:minSdkVersion
de la etiqueta <uses-sdk>
del manifiesto al número nuevo de la versión anterior, como se muestra a continuación:
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
La configuración del manifiesto le indica a Google Play que tu aplicación se puede instalar en dispositivos con Android 4.0 (nivel de API 14) y versiones posteriores
Si usas archivos de compilación de Gradle, la configuración minSdkVersion
del archivo de compilación
anula la configuración del manifiesto.
plugins { id 'com.android.application' } android { ... defaultConfig { minSdkVersion 16 ... } ... }
En este caso, la configuración del archivo de compilación indica a Google Play que la variante de compilación predeterminada de tu aplicación 4.1 se puede instalar en dispositivos con Android 4.1 (nivel de API 16) y versiones posteriores. Para ver más información sobre variantes de compilación, consulta Descripción general del sistema de compilación.
Nota: Si incluyes varias bibliotecas de compatibilidad, el archivo versión mínima del SDK debe ser la versión más alta requerida por cualquiera de las bibliotecas especificadas. Por ejemplo, si tu aplicación incluye la biblioteca de compatibilidad de preferencias v14 y la Biblioteca Leanback v17, el mínimo La versión del SDK debe ser la 17 o posterior.