Gradle模块和git子模块

我有一个名为工具包的库项目,有两个模块coredatabase ,这个configuration:

settings.gradle

 include ':core' include ':database' 

核心build.gradle

 dependencies { compile 'com.android.support:support-v4:20.+' compile 'com.jakewharton:butterknife:5.1.+' compile 'com.google.code.gson:gson:2.2.+' compile 'uk.co.chrisjenx:calligraphy:0.7.+' compile files('libs/flurry-3.4.0.jar') } 

数据库build.gradle

 dependencies { compile project(':core') } 

它可以运行我的testing在这个库项目,但我想添加这个库作为其他项目的git子模块,这个项目有以下configuration:

settings.gradle

 include ':app-tablet' include 'libraries:float-hint' include 'libraries:toolkit:core' include 'libraries:toolkit:database' include 'libraries:twoway-view:TwoWayView' 

应用程序build.gradle

 dependencies { compile 'com.astuetz:pagerslidingtabstrip:1.0.1' compile 'com.google.android.gms:play-services:+' compile 'com.j256.ormlite:ormlite-android:4.48' compile 'com.jayway.android.robotium:robotium-solo:5.2.1@jar' compile 'com.squareup.dagger:dagger:1.2.+' compile 'com.squareup.picasso:picasso:2.1.1@jar' compile files('libs/YouTubeAndroidPlayerApi.jar') compile project(':libraries:float-hint') compile project(':libraries:porquenao-toolkit:core') compile project(':libraries:porquenao-toolkit:database') compile project(':libraries:twoway-view:TwoWayView') } 

当我尝试编译我得到以下内容:

 $ gradlew assembleDebug -d 12:10:46.283 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception. 12:10:46.285 [ERROR] [org.gradle.BuildExceptionReporter] 12:10:46.285 [ERROR] [org.gradle.BuildExceptionReporter] * Where: 12:10:46.285 [ERROR] [org.gradle.BuildExceptionReporter] Build file '/path/libraries/toolkit/database/build.gradle' line: 16 12:10:46.286 [ERROR] [org.gradle.BuildExceptionReporter] 12:10:46.286 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong: 12:10:46.286 [ERROR] [org.gradle.BuildExceptionReporter] A problem occurred evaluating project ':libraries:toolkit:database'. 12:10:46.287 [ERROR] [org.gradle.BuildExceptionReporter] > Project with path ':core' could not be found in project ':libraries:toolkit:database'. 12:10:46.308 [ERROR] [org.gradle.BuildExceptionReporter] ... more 12:10:46.308 [LIFECYCLE] [org.gradle.BuildResultLogger] 12:10:46.308 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED 

我知道问题是关于path:corelibraries:toolkit:core但如何解决这个适当的?

Solutions Collecting From Web of "Gradle模块和git子模块"

你有一个命名问题你的应用程序gradle文件。

settings.gradle有:

include 'libraries:toolkit:core'

build.gradle有:

 compile project(':libraries:porquenao-toolkit:core') 

假设你解决这个问题,你仍然会有一个错误。

数据库模块将尝试编译“:core” ,但是当在应用程序中使用时,核心模块具有不同的path: “:libraries:porquenao-toolkit:core”

解决这个问题的一种方法是在两个项目中都将核心库包含为“:core”,但给它一个不同的项目path。

你的settings.gradle文件看起来像这样:

工具包:

 include ':core' project(':core').projectDir = new File(rootDir, 'core') 

应用程序:

 include ':core' project(':core').projectDir = new File(rootDir, 'libraries/porquenao-toolkit/core')