2015-12-22 16 views
15

Ho creato due moduli in un singolo progetto Android, chiamato xey.Come importare una classe da un altro modulo in Android Studio?

  1. modulo x ha una classe Egg (pacchetto: com.example.x)
  2. modulo y ha una classe Foo (pacchetto: com.example.y)

Ora voglio importare classe Foo nell'uovo di classe, per il quale ho scritto la dichiarazione di cui qui di seguito in classe Uovo

Import com.example.y.Foo; 

Ora, Foo non è riconosciuto da Android.

Domande,

E 'possibile importare classe da un modulo differente utilizzando solo istruzione import?

Devo creare la libreria del Modulo y e quindi importare la libreria creata nel modulo x?

Oppure la soluzione è qualcos'altro.

+0

è 'foo' pubblico? E 'i' dovrebbe essere in piccolo caso in' import'. –

+0

Hai aggiunto quel modulo alla dipendenza nel file gradle? – Prudhvi

+0

@prerakSola sì Foo è pubblico e io sono piccolo. – Palak

risposta

37

Assicurarsi di quanto segue:

In settings.gradle, si dovrebbe avere: include ':x', ':y'.

In x/build.gradle, si dovrebbe aggiungere y come dipendenza:

dependencies { 
     compile project(':y') 
     // other dependencies 
} 
+1

Assicurati di creare il Modulo y con Libreria Android o sostituire "applica il plugin: 'com.android.application'" con "applica il plugin: 'com.android.library'" nel file gradle. – user3269713

+0

Come posso rinviare il mio codice da un altro dei miei moduli? Voglio dire che ho un 'moduleA' dove uso' moduleB' e 'moduleB' usa un terzo' moduleC' ma quando rimando una classe da 'moduleC' in' moduleA' (control + click) mi mostra la compilazione ' .class' invece della mia classe '.java' dal mio' moduleC'. Hai qualche idea per risolvere questo? Grazie! – epool

Problemi correlati