2017-02-14 3 views
0

Может кто-то просветить меня, я потратил на это много времени, и я начинаю сомневаться, действительно ли это возможно, и если да, то каким образом.Проект, состоящий из нескольких проектов

У меня есть два Android проектов приложений с вложенными библиотек, и я хотел бы иметь родительский проект, который будет ссылаться как, например, как:

ParentProject

-app/src

-ProjectA

 -app/src 
-lib1 
-lib2

-ProjectB

 -app/src 
-lib3 
-lib4

Так что я могу использовать классы из проекта A и B внутри ParentProject, сохраняя их отдельно.

Я использую Android Studio/Gradle

Спасибо

Update

у меня были проблемы из-за применения я пытался использовать, я не понял, почему до сих пор. Но если вы делаете следующие шаги, вы должны быть в состоянии использовать любой другой проект в вас текущий:

В build.gradle вашего подпроекта:

  • Изменения применения плагина: «com.android.application 'применить плагин: „com.android.library“

  • Снимите ApplicationID тег

  • Добавить подпроект в свой родительский проекта путь сборки

  • Добавить подпроект путь к settings.gradle в виде
include ':subproject' 
project(':subproject').projectDir = new File('../subproject')
  • Добавить зависимость в подпроект, добавив следующее build.gradle вашего проекта:
compile project(':some-library')

Кредит на @yosriz за помощь.

Приветствия,

Том

ответ

0

В вашей settings.gradle определяют библиотеки проекта/с и путь (предпочтительно относительный), который вы пытаетесь включить в основной проект.

include ':some-library' 
project(':some-library').projectDir = new File('..\\some-library') 

следующий, в вашей сборке.Gradle приложения включают зависимость к импортированной библиотеки:

compile project(':some-library') 
+0

Привет yosriz, я решение проблемы после того, как вопрос, я думаю, что это из-за вложенные библиотеки, см редактирует – Tom

+0

@tom, как описано в моем ответе, вы можете ссылаться на библиотеку с относительным/абсолютным путем, так вы можете ссылаться на библиотеку из другого проекта, используя свой путь. более рекомендуемым способом является извлечение разделяемых библиотек из проекта, а не ссылки на него в проектах, которые его используют. – yosriz

0
  • Добавить Projecta и ProjectB в вашем ParentProject корневой каталог then-- обновление settings.gradle по

    включают ': Projecta', ': ProjectB'

    включают ': ParentProject'

    Затем добавьте эти строки в ParentProject build.gradle файл
    компилировать проект (': ProjectA') компилировать проект (': ProjectB')

    Наконец нажмите кнопку синхронизации.

+0

Hi AndroidAnDandroid, так же как и другой ответ, я решаю проблему после выпуска, я думаю, что это из-за вложенных библиотек, см. Правки – Tom

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