2016-03-17 2 views
0

Я переношу из Eclipse в Android Studio, и я немного почитал. Я понимаю теорию рабочих пространств Eclipse/проектов и проектов/модулей AS, но мне трудно понять, как лучше всего воспроизвести настройку Eclipse, или если это даже то, что хочет сделать Android Studio.Android Studio: несколько приложений с общими библиотечными проектами

У меня есть два приложения. Для иллюстрации назовем их EmployeeApp и CustomerApp. Это разные приложения во всех смыслах - разные пакеты, совершенно разные источники, все; насколько я вижу, они, конечно, не просто ароматы продуктов.

Однако они оба используют множество библиотечных модулей, и по большей части используют одни и те же. Они также живут в одной и той же структуре в одном и том же репо.

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

Android Studio project view 1Android Studio project view 2 http://i63.tinypic.com/vrv5g4.png

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

Первый вопрос: теперь, когда это 2016, делает ли это Android Studio, и считается ли это предполагаемым использованием?

Если да: как это сделать? Я попытался импортировать недостающие части одного в другой, используя функцию «Импорт модуля», но, по-видимому, это очень мало.

+0

imo - понимание градиентной/андроидной библиотеки. Лучшая практика гораздо важнее, чем eclipse v. предложите обзор на http://developer.android.com/tools/projects/index.html#LibraryModules, тогда, если вы хотите увидеть этот вид mgmt в действии, пойдите и создайте или просмотрите lib proj, например https://github.com/ParsePlatform/ParseUI-Android/BLOB/Master/ParseUI-Логин/сборки.gradle, который управляется на уровне proj с помощью https://github.com/ParsePlatform/ParseUI-Android/blob/master/build.gradle .. если вы потратите время, чтобы понять реализацию материала lib из хорошо продуманного проект lib может помочь –

ответ

0

Я думаю, что я решил это сам. Только время покажет, действительно ли это на самом деле подходящее решение на практике или нет.

Проблема вытекает из того факта, что я в основном создал две независимые сценарии Gradle, а именно:

Android\EmployeeApp\build.gradle 
Android\CustomerApp\build.gradle 

, тогда как то, что сделал это работа была сборка верхнего уровня, а также, а именно:

Android\build.gradle 
Android\EmployeeApp\build.gradle 
Android\CustomerApp\build.gradle 

Это не содержат много:

dependencies { 
     project(":EmployeeApp") 
     project(":CustomerApp") 
} 

, а затем build.settings си mply включали одну из этих пар для каждого проекта:

include ':Services' 
project(':Services').projectDir = new File(settingsDir, './Services') 

Я тогда импортного, что верхнего уровня build.gradle и почти все было хорошо.

Мне нужно было сделать немного больше, например, переместить repositories и allProjects на верхний уровень, но это будет характерно для всего, что у вас есть.

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