Ho un'applicazione Android con due livelli di libreria al di sotto. Ogni libreria ha il proprio codice di test. Vorrei che il codice di test della libreria superiore estendesse il codice di test della libreria inferiore, ma non riesco a capire come ottenere Gradle per trovare il codice di test della libreria inferiore (trova solo il codice di produzione).Come faccio a ottenere Gradle per Android per trovare il codice di test di una biblioteca da un altro codice di test?
mia struttura dei file si presenta così:
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
Il file Gradle per l'applicazione si presenta come:
apply plugin: 'com.android.application'
android { ... }
dependencies {
compile project(':lib2')
}
Il file Gradle per lib2 assomiglia:
apply plugin: 'com.android.library'
android { ... }
dependencies {
compile project(':lib1')
}
Il il file gradle per lib1 assomiglia a:
apply plugin: 'com.android.library'
android { ... }
Quando eseguo “Gradle connectedCheck” ottengo questo:
...
: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;
Ho provato ad aggiungere varie linee androidTestCompile alla sezione dipendenze di file di Gradle di lib2, ma nessuno di loro d'aiuto.
Qualcuno sa come farlo funzionare?
EDIT: dispiace, non ho menzionato che ho anche un settings.gradle nella cartella myproject che assomiglia a questo:
include ':lib1'
include ':lib2'
include ':myapp'
Grazie. Ho modificato la mia domanda per aggiungere il mio settings.gradle, che include anche i moduli, anche se non sto specificando il nome del progetto. È importante? Inoltre, non capisco cosa intendi nel chiarire il tipo di progetto e come connetterei i moduli. Attualmente le uniche connessioni sono i riferimenti ai moduli di libreria nelle istruzioni di compilazione. – Bruce
chiarendo il tipo di progetto <- sry guy ho dimenticato che stai parlando di un progetto Android, un detto che nel contesto dell'applicazione java o java EE (ad esempio, il tipo è EAR, WAR ecc., Ma non applica il tuo Q- zione). prova ad aggiungere in ogni impostazione gradle di ogni modulo, e lì imposta la dipendenza - per esempio - su include 'lib2' nella mia app – SuperAndrew