La forma recomendada del complemento Gradle de Google para configurar sus archivos gradle para construir múltiples proyectos tiene algunas deficiencias. Si tiene varios proyectos dependiendo de un proyecto de biblioteca, esta publicación explica brevemente la configuración recomendada de Google, sus deficiencias y recomienda una forma diferente de configurar sus archivos gradle para Admite configuraciones de proyectos múltiples en Android Studio:
Una configuración multiproyecto alternativa para Android Studio
Una manera diferente:
Resulta que hay una mejor manera de administrar múltiples proyectos en Android Studio. El truco es crear proyectos separados de Android Studio para sus bibliotecas y decirle a Gradle que el módulo para la biblioteca del que depende su aplicación se encuentra en el directorio de proyectos de la biblioteca. Si desea utilizar este método con la estructura del proyecto que describí anteriormente, haría lo siguiente:
- Cree un proyecto de Android Studio para la biblioteca StickyListHeaders
- Crear un proyecto de Android Studio para App2
- Crear un proyecto de Android Studio para App1
- Configure App1 y App2 para compilar los módulos en el proyecto StickyListHeaders.
El cuarto paso es la parte difícil, así que ese es el único paso que describiré en detalle. Puede hacer referencia a módulos que son externos al directorio de su proyecto agregando una declaración de proyecto en su archivo settings.gradle y configurando la propiedad projectDir en el objeto ProjectDescriptor que devuelve esa declaración de proyecto:

El código que uno tiene que poner settings.gradle
:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
Si ha hecho esto correctamente, notará que los módulos a los que hace referencia su proyecto aparecerán en el navegador del proyecto, incluso si esos módulos son externos al directorio del proyecto:

Esto le permite trabajar en código de biblioteca y código de aplicación simultáneamente. La integración de control de versiones también funciona bien cuando hace referencia a módulos externos de esta manera. Puede confirmar y enviar sus modificaciones al código de la biblioteca tal como puede confirmar y enviar modificaciones al código de su aplicación.
Esta forma de configurar múltiples proyectos evita las dificultades que afectan la configuración recomendada por Google. Debido a que estamos haciendo referencia a un módulo que está fuera del directorio del proyecto, no tenemos que hacer copias adicionales del módulo de biblioteca para cada aplicación que dependa de él y podemos versionar nuestras bibliotecas sin ningún tipo de tonterías de submódulo git.
Desafortunadamente, esta otra forma de configurar múltiples proyectos es muy difícil de encontrar. Obviamente, no es algo que descubrirá al mirar la guía de Google, y en este punto, no hay forma de configurar sus proyectos de esta manera utilizando la interfaz de usuario de Android Studio.