9

Ho un progetto Android in IntelliJ IDEA. Consiste di due moduli: app e libreria. L'app dipende dalla libreria e la libreria dipende dall'app (Sì, non va bene, ma ho quello che ho e non posso cambiarlo). L'IDEA nelle impostazioni del progetto mi avvisa delle dipendenze circolari, ma il progetto si costruisce correttamente. Struttura del progetto è simile al seguente:dipendenza Gradle Android e dipendenza circolare

project 
|__app 
| |__src 
| |__build.gradle 
|__libarary 
| |__src 
| |__build.gradle 
|__build.gradle 
|__settings.gradle 

ora sto cercando di migrare verso nuovo sistema di build di Android sulla base di Gradle e hanno un problema qui. Nel mio modulo build.gradle da app aggiungo dipendenza library

compile project(":library") 

Inoltre ho provato a aggiungere la dipendenza in library su app come

compile project(":app") 

ma ottiene errore dal sistema di compilazione, quando trys Gradle da assemblare modulo Libreria :

FAILURE: Build failed with an exception. 

* What went wrong: 
A problem occurred configuring project ':app'. 
> Failed to notify project evaluation listener. 
    > Module version project:app:unspecified depends on libraries but is not a library itself 

Cosa posso fare senza cambiare la struttura del progetto

+0

cercare di costruire loro ... contemporaneamente! –

+0

Ciao, hai trovato una soluzione a questo problema? – mariosangiorgio

+2

@mariosangiorgio, sfortunatamente no, ho cambiato la struttura del mio progetto –

risposta

0

Nell'uso progetto di libreria:

apply plugin: 'android-library'

Nell'uso progetto di applicazione:

apply plugin: 'android'

Assicurarsi di avere i più recenti strumenti di Android:

classpath 'com.android.tools.build:gradle:0.5.+'

+0

Sì, io uso queste impostazioni ma non funziona –

1

Questi parametri sono stati modificati.

Ora dovrebbe refactoring:

Nell'uso progetto di libreria:

applicare plugin: 'com.android.library'

Nell'uso progetto di applicazione:

applica il plug-in: "com.android.application"

0

Se si arriva qui alla ricerca dello stesso errore con Android 3.0 si dovrebbe sapere la soluzione corrente è:

downgrade a kotlinVersion = '1.1.2-2'

e disabilitare generazione incrementale in gradle.properties Kotlin. incrementale = false

la questione è prevista per il prossimo alfa https://issuetracker.google.com/issues/38447344