Dependencias en paquetes AAR
Después de ensamblar el código fuente de aar (ya sea implementación o API) en un paquete aar, cuando lo subimos al servidor a través del script gradle, podemos generar las dependencias en el código fuente de aar a través de pom.project El archivo pom.xml del elemento. Estas dependencias luego se convertirán en dependencias de Maven mediante script de escape. El fragmento del script es el siguiente:
Lo anterior es la configuración en nuestro proyecto. En realidad, puede agregar opciones de configuración de alcance en la configuración de pom.project, pero si no se especifica, entonces el alcance es compilación. Entonces, ya sea que esté utilizando una implementación o una API en el código fuente de AAR, si no muestra el alcance, en Maven terminará compilándose.
Entonces, de forma predeterminada, las dependencias existen en el archivo maven pom.xml y se expresan en forma compilada. Entonces, cuando el proyecto usa el paquete aar de maven a través de gradle, las dependencias en el archivo pom.xml serán resueltas por gradle. Cuando gradle se da cuenta de que la dependencia de maven es la compilación, gradle lo resolverá en una configuración de API.
Esto significa que cuando dependemos directamente de un paquete aar en nuestro proyecto, las dependencias en el paquete aar son "visibles" en nuestro proyecto porque gradle las resuelve en apis.
Sin embargo, cuando usamos el proyecto de código fuente de aar directamente desde el código fuente del proyecto, si la dependencia en el proyecto aar se configura a través de la implementación, entonces la dependencia de aar no es "visible" en nuestro proyecto.
Esto dará como resultado diferentes DAG de gradle para proyectos que dependen directamente de aar y aquellos que dependen de aar desde el código fuente, lo que causa inconvenientes en la compilación.