¿Cómo puedo conseguir que Gradle para Android encuentre el código de prueba de una biblioteca dentro de otro código de prueba?

Tengo una aplicación de Android con dos capas de biblioteca debajo. Cada biblioteca tiene su propio código de prueba. Me gustaría que el código de prueba de la biblioteca superior extendiera el código de prueba de la biblioteca inferior, pero no puedo averiguar cómo conseguir que Gradle encuentre el código de prueba de la biblioteca inferior (solo encuentra el código de producción).

Mi estructura de archivos se ve así:

myproject/ + myapp/ + src/ + main/ + java + com/myapp + lib1/ + src/ + main/ + java + com/myapp/lib1 + androidTest + java + com/myapp/lib1/test + lib2/ + src/ + main/ + java + com/myapp/lib2 + androidTest + java + com/myapp/lib2/test 

El archivo gradle para la aplicación se ve así:

 apply plugin: 'com.android.application' android { ... } dependencies { compile project(':lib2') } 

El archivo gradle para lib2 tiene el siguiente aspecto:

 apply plugin: 'com.android.library' android { ... } dependencies { compile project(':lib1') } 

El archivo gradle para lib1 tiene el siguiente aspecto:

 apply plugin: 'com.android.library' android { ... } 

Cuando corro "gradle connectedCheck" consigo esto:

 ... :lib2:generateDebugTestSources UP-TO-DATE :lib2:compileDebugTestJava myproject/lib2/src/androidTest/java/com/myapp/lib2/test/SubClass.java:10: error: package com.myapp.lib1.test does not exist import com.myapp.lib1.test.BaseClass; 

He intentado agregar varias líneas de androidTestCompile a la sección de las dependencias del archivo del gradle de lib2, pero ningunas de ellas ayudan.

¿Alguien sabe cómo hacer que esto funcione?

EDIT: Lo siento, no mencioné que también tengo un settings.gradle en la carpeta myproject que se parece a esto:

 include ':lib1' include ':lib2' include ':myapp' 

El problema es que su gradle no conoce las conexiones de los módulos myapp, lib1 y lib2.

Intente agregar algunos settings.gradle en módulos que estén utilizando otro. Para su estructura, recomiendo crear archivos gradle adicionales en la raíz:

Por ejemplo en myproject /

Settings.gradle:

 rootProject.name = 'myproject' include 'myapp' include 'lib1' include 'lib2' 

Y luego escribir gradle.build para todos los módulos donde se aclare el tipo de todo el proyecto por ejemplo oído etc.

También puede conectar módulos por separado.

  • Cómo obtener un error en Android Studio 2.1 con java 8
  • ¿Puedo construir todos mis sabores de generación de gradle a la vez?
  • Gradle - ¿Cómo obtener valores de AndroidManifest?
  • Un error al crear un nuevo proyecto en android studio
  • No se encontró ningún identificador de recurso para el atributo 'layout_behavior' en el paquete
  • Gradle - build sass por productflavor (carpeta múltiple)
  • Error en la generación de Gradle en Android Studio
  • Robolectric personalizado TestRunner no funciona cuando se inicia desde Gradle
  • ¿Cómo construir la biblioteca estática de C + + usando NDK en Android usando Android Studio con Gradle?
  • Módulo tema de Android con sabores
  • Estudio Android - Gradle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.