Я собираюсь преобразовать свои проекты Android с Ant на Gradle.
Рабочее пространство My Eclipse очень просто:
Workspace
MyApp
MyApp-AndroidLibrary
Когда я добавляю файл build.gradle в MyApp, я хочу ссылаться на свой проект библиотеки Android:
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':MyApp-AndroidLibrary')
}
Когда я запускаю конструкцию gradle, появляется ошибка "Project with path": MyApp-AndroidLibrary "не найден в корневом проекте", я искал ее для поиска и нашел, что мне нужно настроить "settings.gradle" "в моем каталоге рабочей области, чтобы добавить
include ":MyApp"
include ":MyApp-AndroidLibrary"
Это выглядит слишком плохо для меня, почему gradle нужен файл settings.gradle, почему бы просто не извлечь проекты, определенные в зависимостях?
А что означает include
? Что делать, если у меня есть приложение anotoher и некоторые другие общие библиотеки в рабочей области, структура может выглядеть так:
Workspace
App1
App2
Library1(Used by App1 & App2)
Library2(Used only by App1)
Library3(Used only by App2)
Потому что есть только ОДИН файл settings.gradle, мне пришлось добавить их все в settings.gradle. Это плохо пахнет.
И да, я могу реорганизовать структуру, чтобы сделать Library2 в дочернем каталоге App1, а Library3 - дочерним каталогом App2, но как насчет Library1?
Прокомментировать это?