我有一个像这样的目录/项目设置:
C:\
_dev\
Projects\
Logger
MyProject
Logger 是使用Gradle的Android库项目。 MyProject 是一个标准的Android项目项目,需要使用 Logger 库。
我正在使用Android Studio并尝试将 Logger 添加到外部库。虽然这在开发过程中起作用,但我会在构建时收到有关该类未找到的消息。
我是Gradle的新手,但在 MyProject 中的build.gradle中尝试了以下内容:
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'
}
答案 0 :(得分:130)
最简单的方法是使MyProject
项目作为子项目成为Logger
多项目。
settings.gradle
目录中的 MyProject
:
include ":logger"
project(":logger").projectDir = file("../logger")
在build.gradle
的{{1}}中,您现在可以将此lib作为项目引用:
MyProject
答案 1 :(得分:11)
Android Studio 2.2.3:
添加到settings.gradle。
include ':app', ':new_lib'
project(':new_lib').projectDir = new File('../new_lib/app')
然后编辑您的项目结构|用于设置依赖关系的模块。
答案 2 :(得分:6)
尝试将依赖项添加到全局“依赖项”部分,而不是“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