Migración a la nueva estructura Gradle (Plugins Struct) Android Studio


Tras una actualización de Android Studio al crear un proyecto de 0, se configura una estructura nueva de especificación de directrices, dependencias, etc… Eso hace que muchos tutos y videotutoriales en la parte de añadir dependencias fallará por todos lados.

A continuación puntos a tener en cuenta para la adaptación a Gradle

Diferenciar archivos Gradle

Tenemos dos espacios con archivos build.gradle

  • El de raíz también llamado (a nivel de proyecto), en la nueva estructura se usa plugins
  • el de la app, a nivel de aplicación app/build.gradle, ese apenas ha habido cambios

Luego se tiene el settings.gradle que es configuración global

Añadir Maven Jitpack

Si se tiene que añadir otras fuentes de dependencias para que una librería funcione, lo que veamos en configuración de Dependencias bloque Dependencies, algo así:

   allprojects {
        repositories {
            mavenCentral()
            maven { url "https://jitpack.io" }
        }
   }
   dependencies {
        implementation 'com.github.User:Repo:Version'
   }

Con la nueva estructura, se debe ir a settings.gradle, en el bloque dependencyResolutionManagement/repository añadir

maven { url «https://jitpack.io» }

Y luego en build.gradle a nivel de app en el bloque dpendencies añadir la dependencia de la librería.

Dependencias Buildscript

Todo lo que se vea en los tutos que parte del bloque buildscript, en éste caso las dependencias google-services

buildscript {

  repositories {
    // Check that you have the following line (if not, add it):
    google()  // Google's Maven repository
  }

  dependencies {
    // ...

    // Add the following line:
    classpath 'com.google.gms:google-services:4.3.13'  // Google Services plugin
  }
}

En la nueva estructura, debemos ir al archivo build.gradle a nivel de proyecto y añadir el bloque buildscript, pero que quedé por encima del bloque plugins, es decir así

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.3.13'
    }
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.2.1' apply false
    id 'com.android.library' version '7.2.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Dependencias como plugins

Todo lo que se vea que dice añadir plugin en build.gradle a nivel de aplicación, no hay cambio, ejemplo

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'com.google.gms.google-services'
}

android {
    ...
}
dependencies {
    ...
}
Anuncio publicitario

Publicado por Codelaby

Mobile DevDesigner

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: