Configuración de la biblioteca de compatibilidad

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 de la versión en un repositorio de confianza. 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 para cada biblioteca de compatibilidad que quieras usar.

Para agregar una biblioteca de compatibilidad al proyecto de tu aplicación:

  1. Incluye el repositorio Maven de Google en la biblioteca settings.gradle.
    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'
            // }
        }
    }
    
  2. En cada módulo en el que desees usar una biblioteca de compatibilidad, agrégala a la Bloque dependencies del archivo build.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 explícitamente versión de la 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, reducir quita las clases sin usar de las bibliotecas que incluyes en tu aplicación, lo que mantiene la el tamaño de descarga de tu aplicación lo más pequeño posible.

El desarrollador de Android ofrece más orientación sobre el uso de algunas funciones de la biblioteca de compatibilidad clases de capacitación, guías y muestras. Para obtener más información acerca de las clases y los métodos individuales de las bibliotecas de compatibilidad, consulta los paquetes android.support en la referencia de la 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 versión . Específicamente, debes actualizar android:minSdkVersion. elemento de la <uses-sdk> en el manifiesto al nuevo número de versión inferior, como 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 una posterior.