从另一个目录需要Gradle项目

我有一个目录/项目设置像这样:

C:\ _dev\ Projects\ Logger MyProject 

logging器是一个使用Gradle的Android库项目。 MyProject是一个标准的Android项目,需要使用Logger库。

我正在使用Android Studio,并尝试添加logging器到外部库。 虽然这在开发过程中起作用,但是在build造时,我得到关于课程的信息。

我对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' } 

Solutions Collecting From Web of "从另一个目录需要Gradle项目"

最简单的方法是使MyProject作为一个子项目使用Logger项目作为多项目。

MyProject目录中的settings.gradle

 include ":logger" project(":logger").projectDir = file("../logger") 

MyProjectbuild.gradle ,你现在可以引用这个lib作为一个项目:

 dependencies { compile 'com.android.support:gridlayout-v7:18.0.0' compile 'com.android.support:appcompat-v7:18.0.0' compile project(":logger") } 

Android Studio 2.2.3:

添加到settings.gradle。

 include ':app', ':new_lib' project(':new_lib').projectDir = new File('../new_lib/app') 
  • path必须与您正在处理的项目的根目录相关。
  • 你引用的模块必须有一个引用它的“应用程序”目录。

然后编辑您的项目结构| 模块来设置依赖关系。

尝试添加依赖到全局“依赖”部分,而不是“android>依赖”。 在开发过程中,使用“android”configuration,但不包装运行时。

 dependencies { compile 'com.android.support:gridlayout-v7:18.0.0' compile 'com.android.support:appcompat-v7:18.0.0' compile files("../Logger") } 

也许值得考虑设置一个多项目gradleconfiguration,在共享父目录中有一个build.gradle和settings.gradle,像这样: http : //www.gradle.org/docs/current/userguide/ multi_project_builds.html