Únete a ⁠ #Android11: The Beta Launch Show el 3 de junio.

Configuración de la biblioteca de compatibilidad

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 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 ocurrirá 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 manera en que configuras las bibliotecas de compatibilidad de Android en tu proyecto de desarrollo depende de las funciones que desees usar y la variedad de versiones de plataforma de Android que desees admitir con tu aplicación.

En este documento, encontrarás orientación para la descarga del paquete de bibliotecas de compatibilidad y 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 admitimos la descarga de bibliotecas a través de 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, decide las funciones que deseas incluir y las versiones anteriores de Android que quieres admitir. Para obtener más información sobre las características proporcionadas por las diferentes bibliotecas, consulta las Funciones de la biblioteca de compatibilidad.

Cómo agregar bibliotecas de compatibilidad

Para poder usar una biblioteca de compatibilidad, debes modificar las dependencias de classpath de tu proyecto en tu entorno de desarrollo. Debes realizar este procedimiento con cada biblioteca de compatibilidad que desees usar.

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

  1. Incluye el repositorio Maven de Google en el archivo build.gradle de tu proyecto.
        allprojects {
            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. Para cada módulo en el que desees usar una biblioteca de compatibilidad, agrega la biblioteca en el bloque dependencies del archivo build.gradle del módulo. 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 provocar actualizaciones inesperadas de la versión e 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 bibliotecas de compatibilidad que proporcionan compatibilidad con las API de framework existentes normalmente tienen el mismo nombre que la clase de framework, pero se ubican en los paquetes de clase android.support o tienen el sufijo *Compat.

Precaución: Cuando uses clases de la biblioteca de compatibilidad, asegúrate de importar la clase desde el paquete correspondiente. Por ejemplo, al aplicar la clase ActionBar:

  • 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 tu proyecto de aplicación, te recomendamos enfáticamente 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 características 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 tienes pensado aumentar la compatibilidad con versiones anteriores de tu aplicación existente para que admita una versión anterior de la Android API con la biblioteca de compatibilidad, asegúrate de actualizar el manifiesto de tu aplicació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 indica a Google Play que se puede instalar tu aplicación en dispositivos con Android 4.0 (API nivel 14) y versiones posteriores.

Si usas archivos de compilación de Gradle, la configuración de minSdkVersion en esos archivos anula las configuraciones del manifiesto.

    apply plugin: 'com.android.application'

    android {
        ...

        defaultConfig {
            minSdkVersion 16
            ...
        }
        ...
    }
    

En este caso, la configuración del archivo de compilación indica a Google Play que se puede instalar la variante de compilación predeterminada de tu aplicación en dispositivos con Android 4.1 (API nivel 16) y versiones posteriores. Para obtener más información sobre las variantes de compilación, consulta Información general del sistema de compilación.

Nota: Si incluyes varias bibliotecas de compatibilidad, la versión de SDK mínima debe ser la más alta que requieran las bibliotecas especificadas. Por ejemplo, si tu app incluye la biblioteca de compatibilidad de preferencias v14 y la biblioteca Leanback v17, tu versión mínima de SDK debe ser la 17 o una posterior.