【发布时间】:2014-09-30 21:52:42
【问题描述】:
我有一个名为 toolkit 的库项目,有两个模块 core 和 database,配置如下:
settings.gradle
include ':core'
include ':database'
核心构建.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')
}
数据库构建.gradle
dependencies {
compile project(':core')
}
在这个库项目中运行我的测试时没问题,但我想将此库作为 git 子模块添加到其他项目中,该项目具有以下配置:
settings.gradle
include ':app-tablet'
include 'libraries:float-hint'
include 'libraries:toolkit:core'
include 'libraries:toolkit:database'
include 'libraries:twoway-view:TwoWayView'
应用构建.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
我知道问题是关于路径 :core 和 libraries:toolkit:core 但如何适当地解决这个问题?
【问题讨论】:
-
你的数据库构建不应该包含编译
project(':libraries:toolkit:core') -
@njzk2 否,因为我想在未来将这个工具包用于其他项目,而其他项目的路径可能与
libraries:toolkit不同...工具包上的 androidTest 也需要找到带有 @987654333 的核心@ -
那么我认为您可能应该将
core包含为database的子模块? -
@njzk2 这可能适用于'如果 gradle 没有问题与两个项目相等,应用程序使用的核心和数据库使用的核心',但我真的想使用相同的 git 存储库,因为项目真的很小,将来这个想法在不同的项目中是分开的,但不是今天。
标签: android git gradle android-studio build.gradle