项目的结构
MainProgect(He also root of the whole project)
--SubProgectLib
build.gradle
--SubProgectLib2
build.gradle
--src
--res
AndroidManifest.xml
settings.gradle
build.gradle
在文件settings.gradle中
include ':SubProgectLib'
include ':SubProgectLib2'
使用Gradle
同步项目时Gradle 'MainProgect' project refresh failed:
Configuration with name 'default' not found.
MainProject build.gradle:
buildscript
{
repositories
{
mavenCentral()
}
dependencies
{
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
allprojects
{
repositories
{
mavenCentral()
}
}
apply plugin: 'android'
android
{
compileSdkVersion 19
buildToolsVersion "19.0.1"
defaultConfig
{
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
sourceSets
{
main
{
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies
{
compile 'com.android.support:support-v4:19.0.1'
compile 'com.google.android.gms:play-services:3.2.+'
compile project(':SubProgectLib')
compile project(':SubProgectLib2')
compile fileTree(dir: 'libs', include: '*.jar')
}
答案 0 :(得分:0)
似乎build.gradle
文件的内容是错误的。在Intellij的项目结构中,有一个项目可以在其中包含多个模块,一个模块可以依赖于其他模块,也可以拥有自己的依赖项,如jar。
正如评论中所确认的,您在问题中包含的build.gradle
文件是root用户,这是不正确的。这应该是主模块的build.gradle
文件。
在apply plugin : 'android'
之后剪切内容并将其粘贴到主模块的build.gradle
文件中,包括此行。
您可以在根级build.gradle
文件中定义所有模块中常见的内容,例如gradle的版本和存储库声明。 Gradle构建系统在编译所有模块时包含根级文件。
编辑:
您的项目结构应该是这样的
Project Root
+-- libraries
+-- SubModule(your lib project)
+--src
+--.......
+--build.gradle
+-- App(Main Module)
| +-- builds
| +-- src
| | +-- main (java code and resources)
+-- build.gradle
+--settings.gradle
+--build.gradle
我更喜欢将所有子模块保存在一个目录(库)中。如果您愿意,可以将它们放在root中,没有问题。您只需要更改ypur主模块的settings.gradle
和build.gradle
中的路径,它们将它们作为依赖项。