Требовать проект Gradle из другого каталога
У меня есть настройка каталога/проекта, например:
C:\
_dev\
Projects\
Logger
MyProject
Logger - это проект библиотеки Android, использующий Gradle. MyProject - это стандартный проект проекта Android, который должен использовать библиотеку Logger.
Я использую Android Studio и пытаюсь добавить Logger во внешние библиотеки. Пока это работает во время разработки, я получаю сообщения о том, что класс не найден при создании.
Я полностью новичок в Gradle, но попробовал следующее в моем build.gradle в MyProject:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 18
buildToolsVersion "18.1.0"
defaultConfig {
minSdkVersion 16
targetSdkVersion 18
}
dependencies {
compile files("../Logger")
}
}
dependencies {
compile 'com.android.support:gridlayout-v7:18.0.0'
compile 'com.android.support:appcompat-v7:18.0.0'
}
Ответы
Ответ 1
Самый простой способ - сделать MyProject
мультипроект с проектом Logger
в качестве подпроекта.
settings.gradle
в каталоге MyProject
:
include ":logger"
project(":logger").projectDir = file("../logger")
В build.gradle
от MyProject
вы можете ссылаться на эту библиотеку как на проект:
dependencies {
compile 'com.android.support:gridlayout-v7:18.0.0'
compile 'com.android.support:appcompat-v7:18.0.0'
compile project(":logger")
}
Ответ 2
Android Studio 2.2.3:
Добавить в settings.gradle.
include ':app', ':new_lib'
project(':new_lib').projectDir = new File('../new_lib/app')
- Путь должен быть относительным от корня проекта, который вы работаете
на.
- Модуль, на который вы ссылаетесь, должен иметь ссылку на него "app"
каталог.
Затем отредактируйте свою структуру проекта | Модули для настройки зависимостей.
Ответ 3
Попробуйте добавить зависимость в глобальный раздел "зависимости", а не в "android> зависимости". Во время разработки конфигурация "android" используется, но не для упаковки среды выполнения.
dependencies {
compile 'com.android.support:gridlayout-v7:18.0.0'
compile 'com.android.support:appcompat-v7:18.0.0'
compile files("../Logger")
}
Может также стоить взглянуть на настройку многопроектной конфигурации gradle с использованием build.gradle и settings.gradle в общем родительском каталоге, как здесь: http://www.gradle.org/docs/current/userguide/multi_project_builds.html
Ответ 4
Под MyProject создайте файл settings.gradle
:
rootProject.name='MyProject'
include '../Logger'
затем в build.gradle
укажите зависимость проекта:
dependencies {
compile project(':../Logger')
}