Android Studio: Gradle sync failed: Proyecto: app declara una dependencia

Estoy trabajando en Android Studio 2.3 y quiero hacer uso de una biblioteca que encontré en github ( https://github.com/henrychuangtw/Android-ChatHead ) y no hay ningún archivo Jar. En settings.gradle he declarado el directorio en el que reside la biblioteca de esta manera:

include ':app' include ':Android-ChatHead' project(':Android-ChatHead').projectDir=new File('/Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads') 

Y también he añadido la biblioteca a las dependencias build.gradle:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':Android-ChatHead') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.1.1' compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' } 

Después de esto, si sincronizo, obtengo este error:

Gradle sync failed: Project: app declara una dependencia de la configuración 'compile' a la configuración 'default' que no está declarada en el descriptor para el proyecto: Android-ChatHead. Consulte el registro IDE para obtener más detalles (Ayuda | Mostrar registro)

Si agrego / app al final de la trayectoria del archivo en settings.gradle, consigo el error siguiente:

 Error:Dependency Doritest:Android-ChatHead:unspecified on project core resolves to an APK archive which is not supported as a compilation dependency. File: /Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads/Android-ChatHead/app/build/outputs/apk/Android-ChatHead-release-unsigned.apk 

No puedo entender lo que debo hacer.

2 Solutions collect form web for “Android Studio: Gradle sync failed: Proyecto: app declara una dependencia”

Usted no puede agregar dependencias como que por lo que sé que asumo que no hay jar para la dependencia que desea utilizar, por lo que tendrá que añadir Android-ChatHead como módulo

Para hacerlo, siga estos pasos:

  1. Haga clic en Archivo> Nuevo> Módulo de importación.
  2. En el cuadro directorio de origen, escriba o seleccione el directorio del módulo o módulos que desea importar:

    • Si está importando un módulo, indique su directorio raíz.

    • Si está importando varios módulos de un proyecto, indique la carpeta del proyecto. Para cada módulo dentro de la carpeta, aparece un cuadro e indica la ubicación de origen y el nombre del módulo. Asegúrese de que el cuadro Importar está marcado para cada módulo que desea importar.

  3. Escriba los nombres de módulo deseados en el campo Nombre del módulo.

  4. Haga clic en Finalizar.

  5. En tu settings.gradle add

    include ':app', ':Android-ChatHead'

  6. En la sección de dependencias de tu aplicación build.gradle add

    compile project(':Android-ChatHead')

  7. Limpiar / Construir el proyecto

Importación por copia y por referencia son diferentes

Lo que P.Lorand está haciendo es hacer referencia a un módulo en lugar de copiar para que cualquier modificación que realice en el módulo afecte a todas las demás aplicaciones que hacen referencia al módulo.

Con la forma de Ivan Milisavljevic, un módulo se copia a una aplicación. Ediciones realizadas en el módulo importado es eficaz sólo dentro de la aplicación, a veces buena idea, a veces una molestia.

La aplicación y el módulo tienen una estructura diferente

La aplicación tiene una raíz de aplicación y un módulo de aplicación dentro de ella, normalmente llamada app.
La raíz del módulo es el propio módulo.

Cambiando esto:

 project(':Android-ChatHead').projectDir=new File('/Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads') 

a

 project(':Android-ChatHead').projectDir=new File('/Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads/moduleName') 

podría ayudar.

También si está convirtiendo una aplicación en un módulo, asegúrese de cambiar el nombre de la app , dos módulos con el mismo nombre app es una promesa para el desastre.

Con Android-ChatHead

Contiene una carpeta de aplicaciones, por lo que es una aplicación y no un módulo.
Build.gradle contiene una línea de apply plugin: 'com.android.application' , por lo que el bit de application tiene que ser reemplazado por la library .
Comente el applicationId "henrychuang.tw.chatheadmsg" .
Cambie el nombre de la aplicación de nombre de módulo a otra cosa; Nunca lo he hecho manualmente, con el estudio de Android ctl + alt + r en app folfder en la pestaña Proyecto.

Entonces deberías estar bien. Intente importar por copia primero.

  • Cómo convertir un proyecto de gradle en un proyecto de android
  • Error de Gradle después de actualizar a Android Studio a 2.0 Preview y usar Instant Run:
  • Gradle falla: nodo no soportado 'item' en ids.xml
  • Robolectric filenotFound en archivos de activos
  • Error de generación en el android studio
  • Cordova build -release Android Unsigned apk
  • Los informes de pelusa de Android Studio "no pueden deducir tipos de argumentos".
  • Falso "Generar firmado APK - APK (s) generado correctamente" pop-up de mensaje cada vez que hago una compilación (después de generar un apk firmado una vez)
  • Cómo configurar la JVM de Gradle en Android Studio 1.3
  • Android Studio - Error de sincronización de Gradle
  • Error de Android Studio al instalar Gradle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.