2015-12-22 7 views
15

Я создал два модуля в одном проекте андроида, назвал его x и y.Как импортировать класс из другого модуля в студию Android?

  1. Модуль х имеет класс Egg (Пакет: com.example.x)
  2. модуль у имеет класс Foo (Пакет: com.example.y)

Теперь я хочу, чтобы импортировать класс Foo в классе яйцо, для которого я написал заявление, упомянутое ниже в классе Яйцо

Import com.example.y.Foo; 

Теперь Foo не распознается андроид.

Вопросы,

Можно ли импортировать класс из другого модуля, используя только оператор импорта?

Нужно ли мне создавать библиотеку модуля y, а затем импортировать созданную библиотеку в модуль x?

Или может быть решением чего-то еще.

+0

Является 'Foo' общественности? И 'i' должен быть в малом случае в' import'. –

+0

Вы добавили этот модуль в зависимость от файла gradle? – Prudhvi

+0

@prerakSola yes Foo является публичным, и я маленький. – Palak

ответ

37

Убедитесь в следующем:

В settings.gradle, вы должны иметь: include ':x', ':y'.

В х/build.gradle, вы должны добавить у как зависимость:

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

Убедитесь, что вы создали модуль y с помощью библиотеки Android или замените «применить плагин:« com.android.application »с« применить плагин: «com.android.library» в файле gradle. – user3269713

+0

Как я могу передать свой код из другого модуля? Я имею в виду, что у меня есть 'moduleA', где я использую' moduleB', а 'moduleB' использует третий' moduleC', но когда я ссылаюсь на класс из 'moduleC' в' moduleA' (control + click), он показывает мне скомпилированный ' .class' вместо моего класса '.java' из моего' moduleC'. У вас есть идея решить эту проблему? Благодаря! – epool

Смежные вопросы