Estoy tratando de configurar una compilación compuesta. La estructura actual es
projectA -build.gradle -settings.gradle -app -build.gradle projectB -buid.gradle -settings.gradle -sdk -build.gradleNecesito usar projectB como una dependencia en projectA, sin embargo, projectB todavía necesita funcionar como un proyecto independiente.
Esto es lo que tengo actualmente
ProjectA settings.gradle contiene
includeBuild('../projectB')ProjectA build.gradle contiene
group "com.example"projectA: App build.gradle contiene
dependencies { implementation 'com.example:projectB' }projectB build.gradle contiene
group "com.example"Sin embargo, cuando intento compilar el proyecto A, aparece el error:
Could not resolve com.example:projectB. Required by: project :app¿Qué estoy haciendo mal aquí? Siento que tiene algo que ver con 'com.example', pero no puedo entender cuál es la forma correcta de hacer referencia al proyecto incluido como una dependencia.
No está sustituyendo la dependencia en el proyecto A. Puede consultar el ejemplo 6 en esta sección: https://docs.gradle.org/current/userguide/composite_builds.html#included_build_declaring_substitutions
En su caso, desea modificar el archivo settings.gradle del proyecto A para que se parezca a:
includeBuild('../projectB') { dependencySubstitution { substitute module("com.example:projectB") using project(':projectB') } }Esto le indicará a gradle que durante la fase de configuración, debe reemplazar cualquier dependencia de com.example:projectB con project :projectB que se encuentra en ../projectB.
Habiendo dicho lo anterior, parece que realmente está interesado en incluir el módulo sdk definido en projectB. Si este es el caso, puede reemplazar using project(':projectB') con el using project(':sdk')