2013-07-07 172 views
1

我在使用Gradle在Android上构建项目时遇到问题。Android Gradle模块依赖

我有一个项目的结构如下:

root 
settings.gradle 
build.gradle 

    - Project 1 (android studio "module") 
     build.gradle 

    - Project 2 (android studio "module") 
     build.gradle 

如果我选择项目1和编译,它的工作原理 如果我选择项目2和编译,它的工作原理以及

现在,我想从项目2中获得项目1的依赖,以重用我的一些应用程序逻辑。

继DOC我尝试在项目2的build.gradle

dependencies { 
    compile project(':Project1') 
} 

,但它不工作补充。

我settings.gradle包含:

include ':Project1', ':Project2' 
+0

欢迎来到Stackoverflow!如果您发现回复有帮助,请投票。如果回复成功回答您的问题,请点击旁边的绿色复选标记以接受答案。请参阅stackoverflow.com/questions/how-to-ask获取关于如何编写一个好问题的建议 – buzeeg

回答

1

您应该应用插件的Android库库中的项目(PROJECT1):

buildscript { 
    repositories { 
    mavenCentral() 
    } 

    dependencies { 
    classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 

apply plugin: 'android-library' 

android { 
    compileSdkVersion 17 
} 

链接到Gradle documentation有关使库项目。

0

如果你想重新使用Project1中的一些逻辑,你应该创建一个库项目Project3-lib。将您的可重用代码移动到这个新项目并让Project1和Project2依赖它。

这是你如何做到这一点:

settings.gradle

include ':Project3-lib', ':Project1', ':Project2' 

在你PROJECT1Project2的你添加新的lib项目

dependencies { 
    compile project(':Project3-lib') 
} 

在您的top-水平gradle.build文件(这样你不需要它在所有项目的构建文件)

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.6' 
    } 
} 

在新的项目3-lib的项目,你必须应用的Android库插件,而不是android插件

apply plugin: 'android-library' 
相关问题